Added shorthand forms to (margin|padding|border-width) values where horizontal fields...
authorGoalSmashers <jakub@goalsmashers.com>
Sat, 17 Nov 2012 23:43:11 +0000 (23:43 +0000)
committerGoalSmashers <jakub@goalsmashers.com>
Sat, 17 Nov 2012 23:43:11 +0000 (23:43 +0000)
lib/clean.js
test/data/big-min.css
test/data/blueprint-min.css
test/unit-test.js

index a4a1ddd..3399f30 100644 (file)
@@ -159,10 +159,24 @@ var CleanCSS = {
     replace(/:0 0 0 0([^\.])/g, ':0$1');
     replace(/([: ,=\-])0\.(\d)/g, '$1.$2');
 
-    // same 4 values into one
+    // 4 size values into less
     replace(/(padding|margin|border\-width):([\d\w\.%]+) ([\d\w\.%]+) ([\d\w\.%]+) ([\d\w\.%]+)/g, function(match, property, size1, size2, size3, size4) {
       if (size1 === size2 && size1 === size3 && size1 === size4)
-        return property + ":" + size1;
+        return property + ':' + size1;
+      else if (size1 === size3 && size2 === size4)
+        return property + ':' + size1 + ' ' + size2;
+      else if (size2 == size4)
+        return property + ':' + size1 + ' ' + size2 + ' ' + size3;
+      else
+        return match;
+    });
+
+    // 3 size values into less
+    replace(/(padding|margin|border\-width):([\d\w\.%]+) ([\d\w\.%]+) ([\d\w\.%]+)([;}])/g, function(match, property, size1, size2, size3, suffix) {
+      if (size1 === size2 && size1 === size3)
+        return property + ':' + size1 + suffix;
+      else if (size1 === size3)
+        return property + ':' + size1 + ' ' + size2 + suffix;
       else
         return match;
     });
index 71d7f7f..396f669 100644 (file)
@@ -193,7 +193,7 @@ a:hover,a:focus,a:active,.lien_focus,.flashy{color:#129af0}
 p{margin:0}
 section,article,figure{overflow:hidden
 }
-section article{margin:0 0 16px 0}
+section article{margin:0 0 16px}
 figure img,article img,.img_bord{border:1px solid #eef1f5;vertical-align:bottom}
 .invisible{border:0;background:0}
 .gras{font-weight:700}
@@ -258,7 +258,7 @@ figure img,article img,.img_bord{border:1px solid #eef1f5;vertical-align:bottom}
 img[width="642"]{margin-bottom:6px}
 img[width="312"]{margin-bottom:6px}
 img[width="202"]{margin-bottom:4px}
-.btn,.btn_fonce,.btn_abo,.btn_petit{display:inline-block;padding:4px 10px 4px;margin-bottom:0;color:#000b15;text-align:center;font-weight:700;vertical-align:middle;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);border:1px solid #ccc;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);cursor:pointer}
+.btn,.btn_fonce,.btn_abo,.btn_petit{display:inline-block;padding:4px 10px;margin-bottom:0;color:#000b15;text-align:center;font-weight:700;vertical-align:middle;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);border:1px solid #ccc;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);cursor:pointer}
 .btn_fonce,.bt_fonce a{color:#fff;background-color:#000b15;background-image:-moz-linear-gradient(top,#5d666d,#000b15);background-image:-ms-linear-gradient(top,#5d666d,#000b15);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5d666d),to(#000b15));background-image:-webkit-linear-gradient(top,#5d666d,#000b15);background-image:-o-linear-gradient(top,#5d666d,#000b15);background-image:linear-gradient(top,#5d666d,#000b15);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5d666d', endColorstr='#000b15', GradientType=0);border-color:#000b15;border-color:rgba(0,0,0,.1);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}
 .btn_abo{color:#000b15;background-color:#ffc600;background-image:-moz-linear-gradient(top,#ffe562,#ffc600);background-image:-ms-linear-gradient(top,#ffe562,#ffc600);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffe562),to(#ffc600));background-image:-webkit-linear-gradient(top,#ffe562,#ffc600);background-image:-o-linear-gradient(top,#ffe562,#ffc600);background-image:linear-gradient(top,#ffe562,#ffc600);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe562', endColorstr='#ffc600', GradientType=0);border-color:#ffc600;border-color:rgba(0,0,0,.1);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}
 .btn.large{width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}
@@ -379,8 +379,8 @@ article .liste_carre_999{margin-top:5px}
 .deroule_edito.culture .liste_horaire.liste_scroll{height:249px}
 .deroule_edito.politique .liste_horaire{height:507px;overflow-y:scroll;line-height:120%}
 .deroule_edito.politique .liste_horaire a{width:225px}
-.titre_une{margin:0 0 10px 0}
-.titre_une figcaption{margin:5px 0 0 0}
+.titre_une{margin:0 0 10px}
+.titre_une figcaption{margin:5px 0 0}
 .titres_abonnes{overflow:hidden;background:#f8f9fb;border-bottom:6px solid #e9edf0}
 .titres_abonnes .entete,.entete_exclu_abonnes{display:block;height:19px;background:#ffd500 url(/medias/web/img/elements_lm/ea_contenu_exclusif.png) no-repeat 8px 4px;font-size:13px;text-indent:-9999px}
 .titres_abonnes .ligne1,.titres_abonnes .ligne2{padding:15px 0 10px;overflow:hidden}
@@ -453,8 +453,8 @@ article .liste_carre_999{margin-top:5px}
 .global.revue_web .vidberg li:last-child{border-bottom:0}
 .global.debats .entete_deroule{margin:0}
 .global.debats .bg{padding:13px 0;background:#f8f9fb;border-bottom:1px solid #eef1f5;overflow:hidden}
-.global.debats .nature_edito{margin:0 0 5px 0}
-.global.debats .tt17_capital{margin:0 0 16px;padding:4px 0 4px;border-bottom:1px solid #e9edf0;color:#000}
+.global.debats .nature_edito{margin:0 0 5px}
+.global.debats .tt17_capital{margin:0 0 16px;padding:4px 0;border-bottom:1px solid #e9edf0;color:#000}
 .lien_chaine,.deroule_edito .liens_bas{width:100%;clear:both;padding:6px 0 0;margin:-3px 0 0;border-top:1px solid #eef1f5;text-align:center}
 .lien_chaine.lien_chaine_sans_bordure{border-top:0!important}
 .lien_chaine a,.lien_chaine span{color:#8b9299;font-weight:700;font-size:14px;font-size:1.4rem}
@@ -476,7 +476,7 @@ article .liste_carre_999{margin-top:5px}
 .une_revolutionnaire .tt40{text-align:center}
 .une_revolutionnaire h1+p{margin:0 0 8px;text-align:center}
 .une_revolutionnaire .titres{margin:18px 0 8px}
-.haut_rubrique{margin:0 0 20px;border-bottom:6px solid #e9edf0;padding:0 0 4px 0}
+.haut_rubrique{margin:0 0 20px;border-bottom:6px solid #e9edf0;padding:0 0 4px}
 .fleuve .signature,.fleuve time{font-size:1.1rem;color:#8b9299;margin:0}
 .fleuve .urgent time{color:#fff}
 .ie .fleuve .signature,.ie .fleuve time{font-size:11px}
@@ -493,7 +493,7 @@ article .liste_carre_999{margin-top:5px}
 .fleuve .urgent .conteneur_fleuve{padding-top:10px}
 .fleuve .jour_parution{background:#fff}
 .fleuve .jour_parution{display:block;padding:0 0 20px;color:#2e3942;text-transform:uppercase;font-weight:700}
-.fleuve .atome{margin:0 0 10px 0}
+.fleuve .atome{margin:0 0 10px}
 .fleuve .liens{margin:16px 0 0;color:#a2a9ae}
 .fleuve .liens>span:first-child{float:left}
 .fleuve .liens .permalien{float:left;margin-left:8px;cursor:pointer;height:26px}
@@ -653,7 +653,7 @@ img[height="97"]+.ico29x29{bottom:6%;left:3.5%}
 #footer_services .carousel li{height:176px}
 #footer_services .carousel .alpha{clear:none;margin-right:16px}
 #footer_services .bloc{position:relative;height:176px;border-top:3px solid #16212c}
-#footer_services .contenu_bloc,#footer_services .img_bloc{height:142px;padding:5px 16px 5px;border:solid #e4e6e9;border-width:0 1px 1px;background:#fafbfc}
+#footer_services .contenu_bloc,#footer_services .img_bloc{height:142px;padding:5px 16px;border:solid #e4e6e9;border-width:0 1px 1px;background:#fafbfc}
 #footer_services .img_bloc{padding:0;height:151px}
 #footer_services .entete{display:block;height:21px;padding:0 16px;border:solid #e4e6e9;border-width:0 1px;background:#eef1f5;color:#16212c;line-height:20px;font-size:12px;font-weight:700}
 #footer_services .opacite{position:absolute;bottom:0;left:0;background:rgba(255,255,255,.7);height:35px;padding-top:5px;width:100%;line-height:120%}
@@ -674,7 +674,7 @@ img[height="97"]+.ico29x29{bottom:6%;left:3.5%}
 #footer_services .meteo .ciel{vertical-align:middle}
 #footer_services .meteo .temperature{font-size:17px}
 #footer_services .intitule{color:#8b9299}
-#footer_services .conteneur_liste_tv{height:150px;border:solid #eef1f5;border-width:0 1px 1px 1px}
+#footer_services .conteneur_liste_tv{height:150px;border:solid #eef1f5;border-width:0 1px 1px}
 #footer_services .conteneur_liste_tv .footer{display:block;color:#747b83;font-size:11px;text-align:right;padding:2px 16px 0 0}
 #footer_services .carousel .liste_tv{position:relative;height:128px;overflow-y:auto;overflow-x:none;border-bottom:1px solid #eef1f5}
 #footer_services .carousel .liste_tv li{height:auto;overflow:hidden;padding:5px 3px}
@@ -721,7 +721,7 @@ img[height="97"]+.ico29x29{bottom:6%;left:3.5%}
 #footer .footer_listes{overflow:hidden;padding:0 13px;background:#16212c;color:#2e3942;line-height:120%}
 #footer .footer_listes div{float:left;width:152px;padding:10px 16px 10px 0}
 #footer .footer_listes div:nth-child(2n+2){width:303px}
-#footer .footer_listes .titre{display:block;margin:0 0 4px 0;font-weight:700;color:#eef1f5}
+#footer .footer_listes .titre{display:block;margin:0 0 4px;font-weight:700;color:#eef1f5}
 #footer .footer_listes a,#footer .footer_listes span,#footer .footer_bas a,#footer .footer_bas span,#footer .footer_listes li{color:#a2a9ae}
 #footer .footer_bas .nl:hover{text-decoration:none;color:#747b83}
 #footer .footer_bas{overflow:hidden;padding:5px 13px 10px;border-top:1px solid #2e3942;background:#16212c;color:#a2a9ae}
@@ -829,7 +829,7 @@ img[height="97"]+.ico29x29{bottom:6%;left:3.5%}
 #header_utilisateur .nl{float:left;margin:7px 0 0}
 #header_utilisateur .nl:hover{background-position:right -20px}
 #header_utilisateur .meteo{margin:8px 0 0;float:right;text-align:right}
-#header_utilisateur .meteo a{margin:0 15px 0 0;padding:0 0 3px 0;color:#747b83}
+#header_utilisateur .meteo a{margin:0 15px 0 0;padding:0 0 3px;color:#747b83}
 #header_utilisateur .meteo a:last-child{margin:0}
 #header_utilisateur .meteo a img{vertical-align:text-bottom}
 #header_utilisateur a:hover,#header_utilisateur .obf:hover{color:#16212c}
@@ -866,7 +866,7 @@ img[height="97"]+.ico29x29{bottom:6%;left:3.5%}
 .lightbox_ext .fermer:hover span,.loginbox .fermer:hover span{background-position:0 -191px}
 .loginbox .message{padding:10px;background:#eef1f5}
 .loginbox .login_form{position:relative;float:left;width:245px;height:235px;padding:10px 15px;border-right:1px solid #fff}
-.lightbox_ext .intitule,.loginbox .intitule{margin:0 0 15px 0;font-size:18px;line-height:18px;color:#000;font-weight:700}
+.lightbox_ext .intitule,.loginbox .intitule{margin:0 0 15px;font-size:18px;line-height:18px;color:#000;font-weight:700}
 .loginbox span{display:block}
 .loginbox label{display:block;margin:0 15px 5px 0;color:#747b83}
 .loginbox .choix{margin:15px 0;font-size:11px}
@@ -1033,7 +1033,7 @@ label i{display:none;font-style:normal;display:none}
 .reaction_identifier .mini-login .deja_abo{padding:0 10px 10px 14px}
 .reaction_identifier .mini-login p{overflow:hidden;clear:both}
 .liste_reactions label,.reaction_identifier label{position:relative;margin:10px 0 3px;color:#747b83;line-height:20px}
-.reaction_identifier .deja_abo .txt18{display:inline-block;margin:0 0 15px 0}
+.reaction_identifier .deja_abo .txt18{display:inline-block;margin:0 0 15px}
 .reaction_identifier .deja_abo label+input{width:210px}
 .reaction_identifier .deja_abo p>label{float:left}
 .reaction_identifier .deja_abo p>label+a{float:left;margin:14px 0 0 20px}
@@ -1080,7 +1080,7 @@ label i{display:none;font-style:normal;display:none}
 .barre_outils .classer.actif span{background-position:-13px -12px}
 .barre_outils .imprimer span{width:12px;height:12px;background:url(/medias/web/img/sprites/icos_petites.png) no-repeat 0 -25px;vertical-align:baseline}
 .barre_outils .envoyer span{width:12px;height:10px;background:url(/medias/web/img/sprites/icos_petites.png) no-repeat -13px -25px;vertical-align:baseline}
-.conteneur_barre_outils .reaction_identifier{margin:0 0 20px 0;border-bottom:3px solid #e9ecf0;border-top:0}
+.conteneur_barre_outils .reaction_identifier{margin:0 0 20px;border-bottom:3px solid #e9ecf0;border-top:0}
 .conteneur_barre_outils .non_abo.classer{background:url(/medias/web/img/textes/pas_le_temps_lire.png) no-repeat 16px 40px}
 .conteneur_barre_outils p{margin:0}
 .article .fb-like{height:25px;overflow:hidden;opacity:0}
@@ -1094,7 +1094,7 @@ label i{display:none;font-style:normal;display:none}
 .bloc_part .entete{background:#2e3942;height:23px;line-height:23px;padding:0 15px;text-align:right}
 .bloc_part .entete .intitule{font-family:'FetteEngschrift','Arial Narrow',sans-serif;text-transform:uppercase;color:#fff;font-size:15px;float:left}
 .bloc_part .entete .nom{float:right;color:#eef1f5}
-.bloc_part .accroche{display:block;margin:0 0 8px 0}
+.bloc_part .accroche{display:block;margin:0 0 8px}
 .bloc_part .promo{color:#fe2f2f}
 .bloc_part .texte,.bloc_part.petit .texte{position:relative;padding-top:12px;height:182px;float:left;color:#16212c}
 .bloc_part.petit .texte{height:118px}
@@ -1146,7 +1146,7 @@ label i{display:none;font-style:normal;display:none}
 .services .bloc_part.gymglish .contenu.mot_mois .btn_fonce{bottom:16px;left:15px}
 .bloc_part.gymglish .contenu.mot_mois{bottom:42px;left:15px;height:143px}
 .bloc_part.gymglish .contenu.mot_mois .img{width:110px;float:right;margin:4px 0}
-.bloc_part.empruntis .contenu{padding:0 15px 0;background:url(/medias/web/img/partenaires/empruntis/stylo.jpg) no-repeat}
+.bloc_part.empruntis .contenu{padding:0 15px;background:url(/medias/web/img/partenaires/empruntis/stylo.jpg) no-repeat}
 .bloc_part.empruntis .contenu .texte{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;width:190px;color:#16212c}
 .bloc_part.empruntis .contenu .texte strong{display:block;color:#16212c}
 .bloc_part.empruntis .contenu .texte .lien_chevron{display:block;color:#a2a9ae;font-weight:700;color:#16212c}
@@ -1157,7 +1157,7 @@ label i{display:none;font-style:normal;display:none}
 .bloc_part.darqroom .footer img{margin-top:-3px
 }
 .bloc_part.darqroom.grid_12.promo .texte{background:0;color:#16212c}
-.bloc_part .homelidays{padding:0 0 0}
+.bloc_part .homelidays{padding:0}
 .footer .homelidays{margin-top:-3px}
 .bloc_part.immostreet .annonce,.bloc_part.la_centrale .annonce{display:table-cell;width:85px;font-size:10px;line-height:13px;color:#5d666d}
 .bloc_part.la_centrale .annonce .modele,.bloc_part.la_centrale .annonce .prix{display:block}
@@ -1235,7 +1235,7 @@ label i{display:none;font-style:normal;display:none}
 .col_droite .plus_partages ul{overflow:hidden}
 .col_droite .plus_partages li{overflow:hidden;padding:10px 15px;border-top:1px solid #eef1f5;line-height:120%}
 .col_droite .plus_partages li:first-child{border-top:0}
-.col_droite .plus_partages .bulle_nombre,.col_droite .plus_partages .numero{margin:2px 0 0 0;text-align:center}
+.col_droite .plus_partages .bulle_nombre,.col_droite .plus_partages .numero{margin:2px 0 0;text-align:center}
 .col_droite .plus_partages .numero{float:left;width:15px;height:14px;background:#e9ecf0;color:#a2a9ae;font-size:11px;line-height:15px}
 .col_droite .plus_partages .texte{float:left;width:190px;padding:0 10px 0 8px}
 .col_droite .sociaux .pictos{overflow:hidden;margin:10px 15px}
@@ -1371,7 +1371,7 @@ label i{display:none;font-style:normal;display:none}
 .conteneur_alerte .alerte .texte_alerte{float:left;width:540px;height:75px;overflow:hidden}
 .conteneur_alerte .alerte .texte_alerte strong{display:block}
 .conteneur_alerte .sociaux{width:10.2%;display:table-cell;padding:10px 10px 20px;vertical-align:bottom;border-left:1px solid #464f57}
-.conteneur_alerte .sociaux .txt11{display:block;margin:0 0 10px 0;color:#5d666d;font-weight:700}
+.conteneur_alerte .sociaux .txt11{display:block;margin:0 0 10px;color:#5d666d;font-weight:700}
 @media screen and (max-width:1640px){.conteneur_alerte{width:72%;margin:0}
 }
 @media screen and (max-width:1200px){.conteneur_alerte{width:640px;margin:0}
@@ -1680,7 +1680,7 @@ img.spacer{width:1px;height:1px}
 #core-liberation form h2{margin-bottom:10px}
 #core-liberation form p{padding-top:10px;padding-bottom:10px}
 #core-liberation form .hidden{display:none}
-ul.errorlist{background:#fafafa;border:1px solid #e20000;color:#2e2e2e;margin:0 0 5px 0;padding:5px}
+ul.errorlist{background:#fafafa;border:1px solid #e20000;color:#2e2e2e;margin:0 0 5px;padding:5px}
 ul.errorlist li{font-size:11px;font-weight:400;color:#e20000}
 ul.list li{margin-bottom:20px}
 .block .block-content{padding:5px 14px}
@@ -1716,10 +1716,10 @@ ul.list li{margin-bottom:20px}
 img#hit-count{position:absolute;bottom:0;right:0;margin:0;padding:0;height:0}
 #DOMWindow iframe{height:96%!important}
 #mainContent{display:block;margin:0 auto;width:1000px;padding:1px 0}
-#core-liberation,#header-liberation,#footer-liberation{display:block;clear:both;margin:0 0 14px 0}
+#core-liberation,#header-liberation,#footer-liberation{display:block;clear:both;margin:0 0 14px}
 #core-liberation{padding:0 10px}
 #header-liberation{padding:0}
-#footer{margin-bottom:0;padding:0 0 28px 0}
+#footer{margin-bottom:0;padding:0 0 28px}
 .m-bot-s1{margin-bottom:42px}
 .m-bot-s2{margin-bottom:28px}
 .m-bot-s3{margin-bottom:21px}
@@ -1779,7 +1779,7 @@ body.iframe{padding-top:0}
 .ad-top{padding:1px 0}
 .ad-top .megaban{margin:7px auto}
 .ad-bottom .megaban{padding:7px 0}
-.ad-google .googleBanner .annonce{margin:0 0 7px 0;padding:7px;font-size:12px;border:1px solid}
+.ad-google .googleBanner .annonce{margin:0 0 7px;padding:7px;font-size:12px;border:1px solid}
 .ad-google .googleBanner .annonce:last-of-type{margin-bottom:0}
 .lnk-libeplus{background-image:url(http://s0.libe.com/libe/img/common/ico-lnk-libeplus.png?2967b1507eee);background-repeat:no-repeat;background-position:right 4px;padding-right:20px}
 .lnk-libeplus-big{background-image:url(http://s0.libe.com/libe/img/common/ico-lnk-libeplus-big.png?401394d0f866);background-repeat:no-repeat;background-position:right 4px;padding-right:30px}
@@ -1823,11 +1823,11 @@ body.iframe{padding-top:0}
 #header-liberation .header-simple .back a{display:block;padding-top:11px;padding-left:17px}
 #header-liberation .header-simple .logo{display:block;float:left;height:39px;width:120px}
 #header-liberation .header-simple .logo img{display:block;width:106px;height:39px}
-#header-liberation .header-annex{position:relative;margin:0 42px;padding:20px 0 0 0}
+#header-liberation .header-annex{position:relative;margin:0 42px;padding:20px 0 0}
 #header-liberation .header-annex .logo{position:absolute;display:block;width:205px;height:80px}
 #header-liberation .header-annex a.logo:hover:after{content:"< retour sur l'accueil";position:absolute;top:17px;left:230px;width:200px;display:inline-block;padding-right:20px;text-transform:none;font-size:13px}
 #header-liberation .header-annex h1,#header-liberation .header-annex ul{display:block;margin-left:230px}
-#header-liberation .header-annex h1{border-bottom:1px solid;height:25px;margin-top:10px;padding:0 0 5px 0;text-align:right;font-size:18px;text-transform:uppercase;font-weight:400}
+#header-liberation .header-annex h1{border-bottom:1px solid;height:25px;margin-top:10px;padding:0 0 5px;text-align:right;font-size:18px;text-transform:uppercase;font-weight:400}
 #header-liberation .header-annex h1 a:hover:before{content:"< retour sur";display:inline-block;padding-right:20px;text-transform:none;font-size:13px}
 #header-liberation .header-annex ul{display:table;width:750px;margin-top:10px;margin-bottom:10px}
 #header-liberation .header-annex ul li{display:table-cell;text-align:center}
@@ -1840,12 +1840,12 @@ body.iframe{padding-top:0}
 #footer-liberation .abo,#footer-liberation .monlibe,#footer-liberation .news,#footer-liberation .services{display:block;float:left}
 #footer-liberation .abo{position:relative;width:448px;height:180px}
 #footer-liberation a.visual{display:block;position:absolute;width:252px;height:135px;right:28px;top:33px}
-#footer-liberation .abo ul li{padding:0 0 3px 0}
+#footer-liberation .abo ul li{padding:0 0 3px}
 #footer-liberation .monlibe,#footer-liberation .news,#footer-liberation .services{min-height:200px}
 #footer-liberation .monlibe{width:112px;margin-right:14px;padding-left:14px}
 #footer-liberation .news{width:168px;padding:0 14px}
 #footer-liberation .services{width:168px;padding:0 14px}
-#footer-liberation .monlibe h5,#footer-liberation .news h5,#footer-liberation .services h5{text-transform:uppercase;padding:0 0 4px 0;font-size:10px}
+#footer-liberation .monlibe h5,#footer-liberation .news h5,#footer-liberation .services h5{text-transform:uppercase;padding:0 0 4px;font-size:10px}
 #footer-liberation .abo h2{text-transform:uppercase;font-size:12px}
 #footer-liberation .abo h3{text-transform:uppercase;font-weight:400;font-size:12px;margin-bottom:20px}
 #footer-liberation .news h5,#footer-liberation .services h5{margin-bottom:10px}
@@ -1981,8 +1981,8 @@ body.auth-unlogged #core-liberation .form-monlibe-unlogged form{opacity:.3;-ms-f
 .col-contextual .block-nobg{padding:10px 0}
 .col-contextual .block-solid-c2 .block-top{border-bottom:3px solid}
 .col-part .block{margin-bottom:7px;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px}
-.col-part .block .block-top{text-transform:uppercase;font-weight:700;padding:7px 0 7px;text-align:center}
-.col-part .block .block-content{padding:0 0 1px 0}
+.col-part .block .block-top{text-transform:uppercase;font-weight:700;padding:7px 0;text-align:center}
+.col-part .block .block-content{padding:0 0 1px}
 .col-part .block hr{border:0;border-top:1px solid}
 .col-part .block img.visual{display:block;margin:0 auto 7px}
 .col-part .block img.left{float:left;margin-right:5px;margin-bottom:5px}
@@ -2067,7 +2067,7 @@ body.auth-unlogged #core-liberation .form-monlibe-unlogged form{opacity:.3;-ms-f
 #core-liberation .block-comments .block-content .comment_hover .meta .details a.profile{display:block}
 #core-liberation .block-comments .block-content .meta .when{position:absolute;right:0;bottom:16px;font-size:11px}
 #core-liberation .block-comments .block-content .comment_title{display:block;clear:both;font-weight:700;font-size:12px;font-family:Verdana,sans-serif;margin-bottom:10px}
-#core-liberation .block-comments .block-content .comment_reply_links{padding:14px 0 0 0;height:30px}
+#core-liberation .block-comments .block-content .comment_reply_links{padding:14px 0 0;height:30px}
 #core-liberation .block-comments .block-content .comment_reply_links .comment_flag,#core-liberation .block-comments .block-content .comment_reply_links .comment_post_new{display:none;float:right;margin-right:10px;padding-top:5px}
 #core-liberation .block-comments .block-content .comment_reply_links .comment_flag .icon{position:static;display:block;width:13px;height:12px;float:left;background-image:url(http://s0.libe.com/libe/img/common/_sprites_icons/icons.png?9914d0d70a49);background-repeat:no-repeat;background-position:-33px -2px;margin:3px 6px 0 0}
 #core-liberation .block-comments .block-content .comment_reply_links .comment_flag:hover .icon{background-position:-33px -18px}
@@ -2192,7 +2192,7 @@ a.god:hover{background:#3c3c3c;color:#fff;text-decoration:none}
 #core-liberation .block-all-forums .forum h5.title{margin-bottom:7px;margin-left:0}
 #core-liberation .block-all-forums .forum h5.title .right{font-weight:400}
 #core-liberation .block-all-forums .forum h5.title .community-bubble{float:left;margin:1px 10px 0 0}
-#core-liberation .block-all-forums .forum img.visual{display:block;float:left;margin:4px 0 0 0;width:56px;height:56px}
+#core-liberation .block-all-forums .forum img.visual{display:block;float:left;margin:4px 0 0;width:56px;height:56px}
 #core-liberation .block-all-forums .forum h5{margin-left:70px;margin-bottom:7px}
 #core-liberation .block-all-forums .forum p.subtitle{margin-left:70px}
 #core-liberation .block-all-forums .forum span.infos{margin-left:70px;display:block}
@@ -2238,7 +2238,7 @@ a.god:hover{background:#3c3c3c;color:#fff;text-decoration:none}
 #core-liberation .block-search-head .advanced .note .links{display:block;padding:5px 0 0 14px}
 #core-liberation .block-search-head .advanced .searchform{height:0;overflow:hidden}
 #core-liberation .block-search-head .advanced .searchform select{font-size:10px}
-#core-liberation .block-search-head .advanced .searchform .period,#core-liberation .block-search-head .advanced .searchform .between,#core-liberation .block-search-head .advanced .searchform .source,#core-liberation .block-search-head .advanced .searchform .category{padding:7px 14px 7px;border-bottom:1px dotted;font-size:11px}
+#core-liberation .block-search-head .advanced .searchform .period,#core-liberation .block-search-head .advanced .searchform .between,#core-liberation .block-search-head .advanced .searchform .source,#core-liberation .block-search-head .advanced .searchform .category{padding:7px 14px;border-bottom:1px dotted;font-size:11px}
 #core-liberation .block-search-head .advanced .searchform .period label{padding-right:4px}
 #core-liberation .block-search-head .advanced .searchform .period ul li{display:inline}
 #core-liberation .block-search-head .advanced .searchform .between .from,#core-liberation .block-search-head .advanced .searchform .between .to{display:inline;padding-left:5px}
@@ -2290,7 +2290,7 @@ a.god:hover{background:#3c3c3c;color:#fff;text-decoration:none}
 #core-liberation .headrest .folder h2{margin-left:14px;padding-top:3px;font-weight:400}
 #core-liberation .headrest .folder p{margin-left:14px}
 #core-liberation .headrest .bg-sprites-icons span.icon{float:left;margin-right:10px}
-#core-liberation .block .block-top .headrest-basic-striked h5,#core-liberation .headrest-basic-striked h5{border:0;padding:0 0 4px 0;font-weight:400;font-size:14px;height:12px}
+#core-liberation .block .block-top .headrest-basic-striked h5,#core-liberation .headrest-basic-striked h5{border:0;padding:0 0 4px;font-weight:400;font-size:14px;height:12px}
 #core-liberation .headrest-basic-striked h5 span{margin-left:20px;padding:0 7px 0 10px}
 #core-liberation .headrest-community{margin-bottom:14px}
 #core-liberation .headrest-community h3{font-family:Verdana,sans-serif;font-size:14px;text-transform:uppercase}
@@ -2415,7 +2415,7 @@ body.init-bar-is-closed #bar-liberation{height:15px}
 #bar-liberation .content a.displayer:hover .arrow{background:url(http://s0.libe.com/libe/img/common/_sprites_header/triangle_ferme_grey.png?a9a52344ba82) no-repeat 0 0}
 #bar-liberation .content a.displayer .arrow-displayed{background:url(http://s0.libe.com/libe/img/common/_sprites_header/triangle_ouvert.png?c782eb482038) no-repeat 1px 1px}
 #bar-liberation .content a.displayer:hover .arrow-displayed{background:url(http://s0.libe.com/libe/img/common/_sprites_header/triangle_ouvert.png?c782eb482038) no-repeat 1px 1px}
-#bar-liberation .content ul.list li{margin:0 10px;min-height:32px;padding:6px 0 2px 0;border-bottom:1px solid;line-height:16px}
+#bar-liberation .content ul.list li{margin:0 10px;min-height:32px;padding:6px 0 2px;border-bottom:1px solid;line-height:16px}
 #core-liberation .block-activities .block-content ul li a,#bar-liberation .content ul.list li a,#core-liberation .block-activities .block-content ul li a:hover,#bar-liberation .content ul.list li a:hover{text-decoration:underline}
 #bar-liberation .content ul.list li:last-of-type{border-bottom:0}
 #bar-liberation .content ul.list li:first-of-type{padding-right:30px}
@@ -2604,9 +2604,9 @@ body.access-ess #page-paywall .content .arguments .arg{float:none;margin:auto}
 .site-liberation .block-call-items .mini-tpl .chat .contribute form fieldset input[type=submit]{float:right}
 .site-liberation .block-call-items .mini-tpl .chat .contribute .btn{float:left}
 .site-liberation .w17unit .block-call-items .mini-tpl .others,.site-liberation .w17unit .block-call-items .mini-tpl .others ul.list-linked-items{clear:both}
-.site-liberation .w17unit .block-call-items .mini-tpl .big,.site-liberation .w17unit .block-call-items .mini-tpl .pano{clear:both;margin:0 0 14px 0}
+.site-liberation .w17unit .block-call-items .mini-tpl .big,.site-liberation .w17unit .block-call-items .mini-tpl .pano{clear:both;margin:0 0 14px}
 .site-liberation .w14unit .block-call-items .mini-tpl .others,.site-liberation .w14unit .block-call-items .mini-tpl .others ul.list-linked-items{clear:both}
-.site-liberation .w14unit .block-call-items .mini-tpl .big,.site-liberation .w14unit .block-call-items .mini-tpl .pano{clear:both;margin:0 0 14px 0}
+.site-liberation .w14unit .block-call-items .mini-tpl .big,.site-liberation .w14unit .block-call-items .mini-tpl .pano{clear:both;margin:0 0 14px}
 .site-liberation .w14unit .block-call-items .mini-tpl .big{width:392px;height:261px}
 .site-liberation .w14unit .block-call-items .mini-tpl .pano{width:392px;height:85px}
 .site-liberation .w11unit .block-call-items .mini-tpl .pano{width:300px;height:65px}
@@ -2615,11 +2615,11 @@ body.access-ess #page-paywall .content .arguments .arg{float:none;margin:auto}
 .site-liberation .block-call-items .tpl-visual-square-left h5{font-family:Georgia,"Times New Roman",Times,serif;font-size:13px;font-weight:700}
 .site-liberation .block-call-items .tpl-visual-square-left-arround h5{font-family:Georgia,"Times New Roman",Times,serif;font-size:13px;font-weight:700}
 .site-liberation .block-call-items .mini-tpl h4{font-size:16px;font-weight:700}
-.site-liberation .block-call-items .tpl-flash-news-29unit,.site-liberation .block-call-items .tpl-flash-news-29unit:last-of-type{border-bottom:1px dotted #ddd;margin:0 0 14px 0;clear:both}
+.site-liberation .block-call-items .tpl-flash-news-29unit,.site-liberation .block-call-items .tpl-flash-news-29unit:last-of-type{border-bottom:1px dotted #ddd;margin:0 0 14px;clear:both}
 .site-liberation .block-call-items .tpl-flash-news-29unit .big{margin-right:28px}
 .site-liberation .block-call-items .tpl-flash-news-29unit .item .clear{clear:right}
 .site-liberation .block-call-items .tpl-flash-news-29unit .others{clear:none}
-.site-liberation .block-call-items .tpl-breaking-news,.site-liberation .block-call-items .tpl-breaking-news:last-of-type{border-bottom:1px dotted;margin:0 0 15px 0;clear:both}
+.site-liberation .block-call-items .tpl-breaking-news,.site-liberation .block-call-items .tpl-breaking-news:last-of-type{border-bottom:1px dotted;margin:0 0 15px;clear:both}
 .site-liberation .block-call-items .tpl-breaking-news h3{font-weight:700}
 .site-liberation .block-call-items .tpl-breaking-news h5 .date{font-weight:700;padding-left:5px}
 .site-liberation .block-call-items .tpl-breaking-news p.more{text-transform:uppercase;color:#e20000}
index 5644f04..ac4a4b3 100644 (file)
@@ -39,7 +39,7 @@ li ul,li ol{margin:0}
 ul,ol{margin:0 1.5em 1.5em 0;padding-left:1.5em}
 ul{list-style-type:disc}
 ol{list-style-type:decimal}
-dl{margin:0 0 1.5em 0}
+dl{margin:0 0 1.5em}
 dl dt{font-weight:700}
 dd{margin-left:1.5em}
 table{margin-bottom:1.4em;width:100%}
@@ -62,7 +62,7 @@ caption{background:#eee}
 .top{margin-top:0;padding-top:0}
 .bottom{margin-bottom:0;padding-bottom:0}
 label{font-weight:700}
-fieldset{padding:0 1.4em 1.4em 1.4em;margin:0 0 1.5em 0;border:1px solid #ccc}
+fieldset{padding:0 1.4em 1.4em;margin:0 0 1.5em;border:1px solid #ccc}
 legend{font-weight:700;font-size:1.2em;margin-top:-.2em;margin-bottom:1em}
 fieldset,#IE8#HACK{padding-top:1.4em}
 legend,#IE8#HACK{margin-top:0;margin-bottom:0}
index ed18a27..fc6dcb7 100644 (file)
@@ -231,9 +231,9 @@ vows.describe('clean-units').addBatch({
     ],
     'display:none not changed': 'a{display:none}',
     'longer background declaration not changed': 'html{background:none repeat scroll 0 0 white}',
-    'mixed zeros not changed': 'div{margin:0 0 1px 0}',
-    'mixed zeros not changed #2': 'div{padding:0 1px 0 0}',
-    'mixed zeros not changed #3': 'div{padding:10px 0 0 0}',
+    'mixed zeros not changed': 'div{margin:0 0 1px 2px}',
+    'mixed zeros not changed #2': 'div{padding:0 1px 0 3px}',
+    'mixed zeros not changed #3': 'div{padding:10px 0 0 1px}',
     'multiple zeros with fractions #1': [
       'div{padding:0 0 0 0.5em}',
       'div{padding:0 0 0 .5em}'
@@ -277,6 +277,25 @@ vows.describe('clean-units').addBatch({
       'div{border-width:1em 1em 1em 1em}',
       'div{border-width:1em}'
     ],
+    'padding - same pairs': [
+      'div{padding:15.5em 10.5em 15.5em 10.5em}',
+      'div{padding:15.5em 10.5em}'
+    ],
+    'margin - same 2nd and 4th value': [
+      'div{margin:1px 2px 3px 2px}',
+      'div{margin:1px 2px 3px}'
+    ],
+    'padding - same 3 values': [
+      'div{padding:1px 1px 1px}',
+      'div{padding:1px}'
+    ],
+    'padding - different 3 values': 'div{padding:1px 1em 1%}',
+    'margin - 3 callapsible values': [
+      'div{margin:1ex 2ex 1ex}',
+      'div{margin:1ex 2ex}'
+    ],
+    'margin - 3 different values': 'div{margin:1px 1px 3px}',
+    'border width - 3 different values': 'div{border-width:1px 2px 3px}',
     'padding - same 2 values': [
       'div{padding:1px 1px}',
       'div{padding:1px}'