Cet article présente principalement l'analyse des variables CSS.Il a une certaine valeur de référence.Maintenant, je le partage avec tout le monde.Les amis dans le besoin peuvent s'y référer
Depuis. ensuite, il n'y a pas de variables en CSS. Pour utiliser des variables CSS, vous ne pouvez utiliser que des précompilateurs tels que SASS ou LESS. Avec la sortie de la nouvelle version, définir et utiliser des variables directement en CSS n'est plus un fantasme. Cet article présentera en détail l'utilisation de base des variables CSS
Les variables CSS sont des entités définies par les auteurs CSS qui contiennent des valeurs spécifiques à réutiliser dans tout le document. Utilisez des attributs personnalisés pour définir des noms de variables et utilisez un var() spécifique pour accéder à
Compatibilité : les navigateurs mobiles et IE ne sont pas compatibles
【Déclarer les variables】
Les variables doivent démarrer avec --
. Par exemple, --example-variable: 20px signifie attribuer 20px à la variable --example-varibale
Vous pouvez placer l'instruction déclarant la variable dans n'importe quel élément. peut le définir sur : root, body ou html
:root{ --bgColor:#000; }
La déclaration de variable est comme l'instruction de déclaration de style ordinaire. Vous pouvez également utiliser le style en ligne
<body style="--bgColor:#000">
La déclaration de variable. L'instruction doit être contenue dans un élément. Vous ne pouvez pas les placer arbitrairement
//错误 <style> --bgColor:#000; </style>
【Utiliser des variables】
Utilisez la fonction var() pour utiliser des variables, et elles peuvent être utilisées n'importe où. Par exemple : var(--example-variable) renverra la valeur correspondant à --example-variable
<body style="--bgColor:#000;"> <p style="width: 100px;height: 100px;background-color: var(--bgColor)"></p> </body>
La fonction var() a également un paramètre facultatif, qui est utilisé pour définir la valeur par défaut . Lorsque la variable ne peut pas Lors de l'obtention de la valeur, utilisez la valeur par défaut
<body> <p style="width: 100px;height: 100px;background-color: var(--bgColor,pink)"></p> </body>
Comme les attributs de style ordinaires, les attributs de variable prennent également en charge l'héritage et la cascade. Dans l'exemple ci-dessous, la valeur variable de l'élément body est verte et la valeur variable de l'élément p est rouge selon le principe de cascade, la couleur d'arrière-plan finale de l'élément p est rouge
<body style="--bgColor:green;"> <p style="width: 100px;height: 100px;--bgColor: red;background-color: var(--bgColor,pink)"></p> </body>
<style>.box{ --top:20%; --left:30%; width: 100px; height: 100px; background-image: url(img/24/xiaoshu.jpg); background-position: var(--left) var(--top);}</style><p class="box"></p>
<style>.box{ --color1:#; --color2:333; width: 100px; height: 100px; background-color: var(--color1)var(--color2);}</style><p class="box"></p>
<style>.box{ --borderWidth:2px; width: 100px; height: 100px; background-color:lightblue; border-left: calc(var(--borderWidth) * 2) solid black;}</style><p class="box"></p>
<p id="box" style="--color:lightgreen;background-color: var(--color)"></p> <script> var oBox = document.getElementById('box'); console.log(oBox.style['--color']); //undefined</script>
<p id="box" style="--color:lightgreen;background-color: var(--color)"></p> <script> var oBox = document.getElementById('box'); console.log(oBox.style.getPropertyValue('--color'));//'lightgreen'</script>
<style>#box{ --color:lightgreen; background-color: var(--color); width: 100px; height: 100px; display:inline-block;}</style><button id="btn" type="button">变浅蓝</button><p id="box"></p> <script>var oBox = document.getElementById('box');var oBtn = document.getElementById('btn'); oBtn.onclick = function(){ oBox.style.setProperty('--color','lightblue'); }</script>
.box{ --color:red; width: 100px; height: 100px; background-color:--color !important; }</style><p class="box"></p>
:root{ --mainColor:#fc0; } .p1{ color:var(--mainColor); } .p2{ color:var(--mainColor); }
Le deuxième avantage des variables est que le nom lui-même contient des informations sémantiques. Les fichiers CSS deviennent lisibles et compréhensibles. main-text-color est plus facile à comprendre que #fc0 dans le document, surtout lorsque la même couleur apparaît dans différents fichiers
3. Il est plus pratique d'implémenter @media media query
En général , les requêtes multimédias sont les suivantes
Cependant, si vous utilisez des variables, vous pouvez rationaliser le code<style>.box{ width: 100px; height: 100px; padding: 20px; margin: 10px; background-color: red}@media screen and (max-width:600px) { .box{ width: 50px; height: 50px; padding: 10px; margin: 5px; }}</style><p class="box"></p>
<style>.box{ --base-size:10px; width: calc(var(--base-size) * 10); height: calc(var(--base-size) * 10); padding: calc(var(--base-size) * 2); margin: calc(var(--base-size) * 1); background-color: red;}@media screen and (max-width:600px) { .box{ --base-size:5px; }}</style><p class="box"></p>
Recommandations associées :
Analyse de l'attribut positon de CSSComment définir un espace réservé via CSS
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!