Il est assez commun de se retrouver avec des déclarations identiques, répétées entre plusieurs éléments. Une couleur de fond par exemple... Cette multiplication des déclarations pose évidemment des problèmes de maintenance et lecture des fichiers CSS...
Nous allons aborder dans ce document les moyens existants pour répondre à un besoin naturel de factorisation.
Moyens les plus anciens, et très largement supportés !
On peut grouper plusieurs sélecteurs ensembles en les séparant par des virgules :
.class1, .class2, #foobar, ...
{
...
}
C'est la notion de groupement définie dans la recommandation CSS[1]
En (x)HTML, on peut préciser plusieurs classes sur un élément donné :
<p id="foobar" class="class1 class2">
On trouvera cette information dans la définition de l'attribut class de la recommandation HTML[2].
Cette méthode est souvent utilisée pour les CSS Sprites : une classe définit
le modèle et une autre positionne simplement le background-position
.
class=...
dans le (x)HTML va à l'encontre
de la logique de séparation contenu / mise en forme !On peut également réaliser du traitement... Les deux systèmes les plus populaires :
Un article qui en parle d'expérience : What's Wrong With CSS
Une recommandation[4] permet de répondre à ce besoin... Mais à l'heure de l'écriture de ces lignes (août 2014) elle est toujours en working draft, et le support est très réduit : uniquement Firefox 31+ ! Cf CanIUse.
Un article sur DevMo bien intéressant sur le sujet : Using CSS variables - CSS | MDN
Création le 24/08/2005
Dernière mise à jour le 14/08/2014
Un oubli, une erreur, une suggestion ? Rendez-vous sur le dépôt GitHub !