O u : « comment j'ai agrandi ma CSS ».
Un designer CSS qui louchait sur ma feuille de styles ce matin, m'a fait cette remarque : Pour bien faire et t'assurer de la comptabilité actuelle et future de ta feuille de styles, tu devrais, pour chacune des propriétés, faire une déclaration spécifique pour chaque navigateur.
Allons bon ! Dans l'absolu il n'a pas tort. Déjà qu'HTML5 est bien verbeux (ça me fait penser qu'après le ménage de printemps que j'ai fait à mon code, ce serait intéressant que je publie un billet là-dessus pour qu'on en discute), s'il faut multiplier les déclarations on va se retrouver avec des CSS ballonnées. • • •
Un exemple ? Celui du code utilisé dans mon billet sur le refonte de mon template HTML5/CSS3 pour l'affichage de l'article sur 2 colonnes :
div.article {
/* SANS PREFIXE */
column-count: 2;
column-gap: 20px;
column-rule:1px dotted #bbb;
/* OPERA */
-o-column-count: 2;
-o-column-gap: 20px;
-o-column-rule:1px dotted #bbb;
/* IE*/
-ms-column-count: 2;
-ms-column-gap: 20px;
-ms-column-rule:1px dotted #bbb;
/* GECKO */
-moz-column-count: 2;
-moz-column-gap: 20px;
-moz-column-rule:1px dotted #bbb;
/* WEBKIT */
-webkit-column-count: 2;
-webkit-column-gap: 20px;
-webkit-column-rule:1px dotted #bbb;
/* KDE */
-khtml-column-count: 2;
-khtml-column-gap: 20px;
-khtml-column-rule:1px dotted #bbb;
border-top:1px solid #999;border-bottom:1px solid #999;padding:8px;text-align:left}
Boum ! C'est que ça en fait des octets en plus ! Des octets qui vont faire des Ko si j'applique sa recommandation sur l'ensemble des propriétés CSS3 de ma feuille de styles. N'étant pas un spécialiste, Mesdames et Mesdemoiselles, Messieurs et Damoiseaux, je pose la question :
Bien sûr si vous avez répondu qu'il y a d'autres solutions ce serait sympa de dire lesquelles pour nos camarades syndiqués.
[PS] Merci de rigoler sous cape si vous zieutez ma CSS
Commentaires :
non, je ne veux pas passer à CSS3
malgré le fait que je tienne un blog de veille techno web et que CSS3 autant que HTML5 m'excite, il n'existe que bien peu de fallback pour CSS3 sur les anciens browsers (il faut lorgner du coté des filters IE), sans compter sur les vieilles version de FF qui traînent encore.
Et en CSS3, ne serait ce que pour la plus aboutie des règles qui est border-radius, lorsque tu vas dans les détails, aucun navigateur ne l'a implémenté de la même manière : déjà qu'on se prenait la tête avec les designer pour éviter le pixel perfect, utiliser CSS3 en l'état actuel des choses ne va rien arranger :)
@JP :
Argh ! Trop tard pour changer le vote en cours (même si c'est possible) ! Car tu as raison :
ici c'est parce que je fais joujou mais en prod ça doit être une autre paire de manches. Pourquoi passer à CSS3 à tout prix ?
@ kilroysoft :
Ah oui ! Si je comprends bien ton idée ça me rappelle une rencontre avec un développeur chez un client (il y a 1 ou 2 ans) qui m'avait tiré par la manche pour me montrer comment il utilisait PHP pour scripter ses CSS. Ça lui permettait de définir des variables dans ses fichiers CSS et d'utiliser les conditions (if / else).
C'était balaise... tellement balaise que je me suis dit que c'était pas pour moi. :-D
As-tu lu ce billet intéressant sur le sujet ?
CSS vendor prefixes considered harmful
Non : je le découvre grâce à toi. Article effectivement très pertinent et, entre parenthèses, des commentaires très intéressants, parmi lesquels celui-ci, où son auteur mentionne l'existence d'un compilateur CSS en Ruby (un spécialiste en parle aussi ici (en français) : créer des CSS dynamiques avec LESS : un compilateur de CSS en Ruby).
J'y lis aussi les effets de bords indésirables et le bordel que génèrent de telles pratiques. Mais un autre commentateur soulève un point intéressant
sur l'application de ces préfixes en ouvrant le débat :
La suite de la discussion vaut son pesant de cacahouettes. Du genre :
:-D
http://code.google.com/p/jsoncss
petit retour de commentaire depuis Tweet industry.
Merci pour cet article, pour ma part tout comme @jpvincen je ne suis pas près non plus pour le CSS3 :)
Et comme j'ai droit à un tiquet pour 2 liens, j'en profite ;)
Voici mon blog développement personnel
À+ et vive le dofollow !
un javascript qui s’occupe de tout préfixer pour nous sans avoir à se prendre la tête.