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">
Un exemple à voir dans ce codepen !
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[5] permet de répondre à ce besoin, et maintenant (février 2026) le support est assez large !
Support des variables CSS sur caniuse : CSS Variables (Custom Properties) | Can I use... Support tables for HTML5, CSS3, etc
Quelques règles à retenir :
--maVariableroot:root {
--primary-color: black;
--secondary-color: white;
}
.class1 {
color: var(--primary-color);
background-color: var(--secondary-color);
}
.class2 {
color: var(--primary-color);
background-color: var(--secondary-color);
}
On peut aussi redéfinir les valeurs des variables :
p {
--primary-color: black;
--secondary-color: white;
color: var(--primary-color);
background-color: var(--secondary-color);
}
p.class1 {
--primary-color: cyan;
--secondary-color: black;
}
p.class2 {
--primary-color: red;
--secondary-color: white;
}
Un article de référence sur le MDN : Using CSS custom properties (variables) - CSS | MDN
Et un autre très détaillé et non moins didactique chez AlsaCréations : Tout savoir sur les variables CSS (custom properties) - Alsacreations
Création le 24/08/2005
Dernière mise à jour le 23/02/2026
Un oubli, une erreur, une suggestion ? Rendez-vous sur le dépôt GitHub !