Propriétés personnalisées (--*) : variables CSS
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis avril 2017.
Les noms des propriétés qui sont préfixés par deux tirets : -- (par exemple : --nom-exemple) représentent des propriétés personnalisées (custom properties) qui peuvent contenir une valeur qui pourra être réutilisée dans le document grâce à la fonction var().
La portée des propriétés personnalisées est celle des éléments sur lesquels elles sont déclarées. Ces personnalisées contribuent à la cascade : la valeur utilisée d'une propriété personnalisée sera déterminée par l'algorithme de la cascade.
| Valeur initiale | voir le texte |
|---|---|
| Applicabilité | tous les éléments |
| Héritée | oui |
| Valeur calculée | tel que spécifié avec les variables échangées |
| Type d'animation | discrète |
Syntaxe
--some-keyword: left;
--some-color: #123456;
--some-complex-value: 3px 6px rgb(20 32 54);
<declaration-value>-
Cette valeur correspond à une séquence de un ou plusieurs fragments tant que la séquence ne contient pas de fragments interdits. Elle représente l'intégralité de ce qu'une déclaration valide peut avoir comme valeur.
Note :
Les noms des propriétés personnalisées sont sensibles à la casse — --ma-couleur sera considéré comme une propriété personnalisée distincte de --Ma-Couleur.
Exemples
>HTML
<p id="premierParagraphe">
Ce paragraphe devrait être sur fond bleu avec un texte jaune.
</p>
<p id="secondParagraphe">
Ce paragraphe devrait être sur fond jaune avec un texte bleu.
</p>
<div id="conteneur">
<p id="troisiemeParagraphe">
Ce paragraphe devrait avoir un fond vert et un texte jaune.
</p>
</div>
CSS
:root {
--premiere-couleur: #1166ff;
--seconde-couleur: #ffff77;
}
#premierParagraphe {
background-color: var(--premiere-couleur);
color: var(--seconde-couleur);
}
#secondParagraphe {
background-color: var(--seconde-couleur);
color: var(--premiere-couleur);
}
#conteneur {
--premiere-couleur: #229900;
}
#troisiemeParagraphe {
background-color: var(--premiere-couleur);
color: var(--seconde-couleur);
}
Résultat
Spécifications
| Specification |
|---|
| CSS Custom Properties for Cascading Variables Module Level 1> # defining-variables> |
Compatibilité des navigateurs
Voir aussi
- La fonction
var() - La règle
@property - Le guide pour utiliser les variables CSS
- Le module des propriétés personnalisées pour les variables en cascade CSS