Maison > interface Web > tutoriel CSS > le corps du texte

Comment puis-je stocker une valeur héritée dans une variable CSS ?

Susan Sarandon
Libérer: 2024-11-21 02:32:10
original
557 Les gens l'ont consulté

How can I store an inherited value in a CSS variable?

Héritage des valeurs dans les variables CSS

Dans le domaine du CSS, les propriétés personnalisées, également appelées variables CSS, offrent une immense flexibilité et un contrôle sur styles. Une question courante se pose lorsque nous souhaitons stocker une valeur héritée dans une variable. Plongeons dans une solution.

Le défi

Considérez le code suivant :

:root {
  --color:rgba(20,20,20,0.5);
}

.box {
  --color: inherit;
  background: var(--color);
}
Copier après la connexion

Ici, nous visons à ce que l'arrière-plan hérite du couleur de l'élément :root. Cependant, utiliser hériter comme valeur de --color ne fonctionne pas en raison des règles d'héritage.

La solution : valeur de repli et mot-clé initial

Pour stocker une valeur héritée , nous pouvons exploiter la fonctionnalité de valeur de repli des variables CSS. Nous pouvons définir :

background: var(--color, inherit);
Copier après la connexion

Cela indique au navigateur d'utiliser l'héritage si --color n'est pas défini. Cependant, puisque --color est toujours défini au niveau :root, il n'utilisera pas la solution de secours.

Pour résoudre ce problème, nous pouvons réinitialiser --color à sa valeur initiale en utilisant le mot-clé initial :

.box {
  --color: initial;
  background: var(--color, inherit);
}
Copier après la connexion

L'utilisation de initial désactive effectivement la propriété personnalisée, permettant à l'héritage de prendre effet. Ce code héritera avec succès de la couleur de l'élément :root.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal