CSS remplaçant les variables
Remplacer la variable globale par une variable locale
De la page précédente, nous avons appris que les variables globales peuvent être consultées/utilisées dans tout le document, tandis que les variables locales ne peuvent être utilisées qu'à l'intérieur du sélecteur où elles sont déclarées.
Regardez l'exemple de la page précédente :
Exemple
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding:
15px;
}
button {
background-color: var(--white);
color: var(--blue);
border: 1px solid var(--blue);
padding: 5px;
}
Parfois, nous souhaitons que les variables ne changent que dans une section spécifique de la page.
Supposons que nous voulions une couleur de bleu différente pour les éléments de bouton. Ensuite, nous pouvons re-déclarer la variable --blue à l'intérieur du sélecteur de bouton. Lorsque nous utilisons var(--blue) dans ce sélecteur, il utilisera la valeur de la variable locale --blue déclarée ici.
Nous voyons que la variable locale --blue remplacera la variable globale --blue pour les éléments du bouton :
Exemple
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding:
15px;
}
button {
--blue: #0000ff; /* local variable will
override global */
background-color: var(--white);
color: var(--blue);
border: 1px solid var(--blue);
padding: 5px;
}
Ajouter une nouvelle variable locale
Si une variable ne doit être utilisée qu'à un seul endroit, on aurait aussi pu déclarer une nouvelle variable locale, comme ceci :
Exemple
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding:
15px;
}
button {
--button-blue: #0000ff; /* new local
variable */
background-color: var(--white);
color: var(--button-blue);
border: 1px solid var(--button-blue);
padding: 5px;
}
Prise en charge du navigateur
Les chiffres du tableau indiquent la première version du navigateur qui prend entièrement en charge la
var()
fonction.
Function | |||||
---|---|---|---|---|---|
var() | 49.0 | 15.0 | 31.0 | 9.1 | 36.0 |
Fonction CSS var()
Property | Description |
---|---|
var() | Inserts the value of a CSS variable |