Propriétés personnalisées (--*)

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

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.

Les propriétés personnalisées contribuent à la cascade : une propriété personnalisée peut apparaître plusieurs fois et la valeur utilisée dans la variable correspondra à la variable de la propriété personnalisée déterminée par l'algorithme de la cascade.

Valeur initialevoir le texte
Applicabilitétous les éléments
Héritéeoui
Médiatous
Valeur calculéetel que spécifié avec les variables échangées
Type d'animationdiscrète
Ordre canoniqueselon la grammaire

Syntaxe

--unmotcle: left;
--unecouleur: #0000ff;
--unevaleurcomplexe: 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.

Syntaxe formelle

<declaration-value>

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>

CSS

:root {
  --premiere-couleur: #488cff;
  --seconde-couleur: #ffff8c;
}

#premierParagraphe {
  background-color: var(--premiere-couleur);
  color: var(--seconde-couleur);
}

#secondParagraphe {
  background-color: var(--seconde-couleur);
  color: var(--premiere-couleur);
}

Résultat

Spécifications

Spécification État Commentaires
CSS Custom Properties for Cascading Variables Module Level 1
La définition de '--*' dans cette spécification.
Version de travail Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 48.0[1]
49.0
Pas de support 29.0 (29.0)[2]
31.0 (31.0)
Pas de support 36.0 9.3[3]
Fonctionnalité Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Support simple 50.0 29.0 (29.0) Pas de support 37.0 9.3[3]

[1] Sous Chrome 48, on peut activer cette fonctionnalité avec la préférence Fonctionnalités expérimentales de la plate-forme Web via chrome://flags.

[2] Dans Gecko 29.0 (Firefox 29.0 / Thunderbird 29.0 / SeaMonkey 2.26), cette fonctionnalité est implémentée via la préférence layout.css.variables.enabled qui vaut false par défaut et qui utilise l'ancienne syntaxe var-nomvariable. Depuis Gecko 31.0 (Firefox 31.0 / Thunderbird 31.0 / SeaMonkey 2.28), la préférence est activée par défaut (true) et c'est la nouvelle syntaxe --nomvariable qui est utilisée.

[3] Cf. WebKit bug 19660.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, xdelatour
 Dernière mise à jour par : SphinxKnight,