Les variables
En CSS on peut créer des propriétés personnalisées qui permettent de stocker des valeurs.
Ces propriétés doivent commencer par '--'.
On récupère ces valeurs à l'aide de la fonction var().
J'ai un fond de couleur --couleur
J'ai une écriture de couleur --couleur
Définition : Héritage
Un élément accède à une variable que si une règle l'a défini pour lui ou pour un de ses parents.
section{
--bg-color: red;
}
section.maClasse {
--text-color: green;
}
p {
--border: 2px solid black;
}
h1, p {
background-color: var(--bg-color);
color: var(--text-color);
border: var(--border);
}
section{ --bg-color: red; } section.maClasse { --text-color: green; } p { --border: 2px solid black; } h1, p { background-color: var(--bg-color); color: var(--text-color); border: var(--border); }
<section>
<h1>J'ai un fond de couleur --bg-color</h1>
<p>J'ai un fond de couleur --bg-color et une bordure --border</p>
</section>
<section class='maClasse'>
<h1>J'ai un fond de couleur --bg-color et une écriture de couleur --text-color</h1>
<p>J'ai un fond de couleur --bg-color, une écriture de couleur --text-color et une bordure --border</p>
</section>
<section> <h1>J'ai un fond de couleur --bg-color</h1> <p>J'ai un fond de couleur --bg-color et une bordure --border</p> </section> <section class='maClasse'> <h1>J'ai un fond de couleur --bg-color et une écriture de couleur --text-color</h1> <p>J'ai un fond de couleur --bg-color, une écriture de couleur --text-color et une bordure --border</p> </section>
J'ai un fond de couleur --bg-color
J'ai un fond de couleur --bg-color et une bordure --border
J'ai un fond de couleur --bg-color et une écriture de couleur --text-color
J'ai un fond de couleur --bg-color, une écriture de couleur --text-color et une bordure --border
--bg-color : toutes les sections et leurs descendants peuvent l'utiliser.
--text-color : toutes les sections de classe maClasse et leurs descendants peuvent l'utiliser.
--border : tous les paragraphes et leurs descendants peuvent l'utiliser.
Les textes ne sont pas en vert car la section n'a pas la classe maClasse. La variable n'est donc pas définie
Définition : Doublon
Comme pour les propriétés classique, en cas de doublon la plus roche de l'élément est prise en compte.
section{
--bg-color: red;
--bg-color: green;
}
p{
--bg-color: blue;
}
h1, p {
background-color: var(--bg-color);
}
section{ --bg-color: red; --bg-color: green; } p{ --bg-color: blue; } h1, p { background-color: var(--bg-color); }
Deuxième couleur définie par section
Couleur définie par paragraphe