06-06-2014, 10:24 AM
Pour les styles identiques sur des objets différents, grouper les sélecteurs est ce que prévoit la norme
Admettons qu'on ait
<span class="couleur-verte">Tout va bien</span>...<a href=".../friends/Machin" class="couleur-verte">Machin (ami)</a>
alors la couleur verte n'est pas sémantique: c'est de la présentation. Donc, elle n'a pas à apparaitre dans le HTML. Supposons que quelqu'un me dise "non, le lien vers un ami, c'est un lien, donc c'est en bleu", alors comment faire?...
Si on avait eu class="statut ok" pour le premier et class="joueur ami" pour le second, cela aurait été facile de mettre
○ soit tout en vert (.joueur.ami, .statut.ok { color:green; })
○ soit de mettre l'un en vert l'autre en bleu (a.joueur { color:blue; } .statut.ok { color:green; })
Rien, dans le fond, ne lie cet(te?) <span> et cet(te?) <a>, donc, cela n'a pas à apparaitre dans le HTML.
Le terme même de "classes de mises en page" me choque d'ailleurs... La classe ne sert pas à faire la mise en page, mais à indiquer ce que représente une balise, et c'est au CSS de dire que "telle balise qui représente telle chose doit avoir telle forme", en associant sélecteur(s) et jeux de règles.
Mais, histoire d'être clair, je n'ai rien contre l'utilisation de "classes de mises en page" quand on fait des sites à l'arrachée, sans tenir compte de la maintenance pour la suite, type WordPress/Blog vite fait: mélanger classes et mises en page, ça gagne du temps maintenant, mais cela peut en faire perdre énormément plus tard (je m'écarte de la question de Photoshop là...!).
Admettons qu'on ait
<span class="couleur-verte">Tout va bien</span>...<a href=".../friends/Machin" class="couleur-verte">Machin (ami)</a>
alors la couleur verte n'est pas sémantique: c'est de la présentation. Donc, elle n'a pas à apparaitre dans le HTML. Supposons que quelqu'un me dise "non, le lien vers un ami, c'est un lien, donc c'est en bleu", alors comment faire?...
Si on avait eu class="statut ok" pour le premier et class="joueur ami" pour le second, cela aurait été facile de mettre
○ soit tout en vert (.joueur.ami, .statut.ok { color:green; })
○ soit de mettre l'un en vert l'autre en bleu (a.joueur { color:blue; } .statut.ok { color:green; })
Rien, dans le fond, ne lie cet(te?) <span> et cet(te?) <a>, donc, cela n'a pas à apparaitre dans le HTML.
Le terme même de "classes de mises en page" me choque d'ailleurs... La classe ne sert pas à faire la mise en page, mais à indiquer ce que représente une balise, et c'est au CSS de dire que "telle balise qui représente telle chose doit avoir telle forme", en associant sélecteur(s) et jeux de règles.
Mais, histoire d'être clair, je n'ai rien contre l'utilisation de "classes de mises en page" quand on fait des sites à l'arrachée, sans tenir compte de la maintenance pour la suite, type WordPress/Blog vite fait: mélanger classes et mises en page, ça gagne du temps maintenant, mais cela peut en faire perdre énormément plus tard (je m'écarte de la question de Photoshop là...!).