Heim  >  Artikel  >  Web-Frontend  >  Analyse der CSS-Variablenvariable

Analyse der CSS-Variablenvariable

不言
不言Original
2018-06-12 15:25:261852Durchsuche

Dieser Artikel stellt hauptsächlich die Analyse von CSS-Variablen vor. Er hat einen gewissen Referenzwert. Jetzt kann ich ihn mit allen teilen.

Die vorherigen Wörter

Dann gibt es in CSS keine Variablen. Um CSS-Variablen zu verwenden, können Sie nur Precompiler wie SASS oder LESS verwenden. Mit der Veröffentlichung des neuen Entwurfs ist das Definieren und Verwenden von Variablen direkt in CSS keine Fantasie mehr. In diesem Artikel wird die grundlegende Verwendung von CSS-Variablen ausführlich vorgestellt.

CSS-Variablen sind von CSS-Autoren definierte Entitäten, die bestimmte Werte enthalten, die im gesamten Dokument wiederverwendet werden sollen. Verwenden Sie benutzerdefinierte Attribute, um Variablennamen festzulegen, und verwenden Sie spezifische var() für den Zugriff.

Kompatibilität: Mobil- und IE-Browser sind nicht kompatibel.

【Variablen deklarieren】

Variablen müssen gestartet werden mit --. Beispielsweise bedeutet --example-variable: 20px, dass der Variablen --example-varibale

20px zugewiesen werden. Sie können die Anweisung, die die Variable deklariert, in einem beliebigen Element platzieren kann auf Folgendes festgelegt werden: Root, Body oder HTML

:root{
  --bgColor:#000;
}

Die Variablendeklaration ist genau wie die gewöhnliche Stildeklarationsanweisung. Sie können auch den Inline-Stil

<body style="--bgColor:#000">

verwenden in einem Element enthalten und kann nicht zufällig platziert werden.

//错误
<style>
--bgColor:#000;
</style>

【Variablen verwenden】

Verwenden Sie die Funktion var(), um Variablen zu verwenden, und kann überall verwendet werden. Beispiel: var(--example-variable) gibt den Wert zurück, der --example-variable

<body style="--bgColor:#000;">
    <p style="width: 100px;height: 100px;background-color: var(--bgColor)"></p>    </body>

entspricht. Die Funktion var() verfügt auch über einen optionalen Parameter, der zum Festlegen des Standardwerts verwendet wird, wenn die Wenn die Variable den Wert nicht erhalten kann, verwenden Sie den Standardwert

<body>
    <p style="width: 100px;height: 100px;background-color: var(--bgColor,pink)"></p>    </body>

Vererbung und Kaskadierung

Wie gewöhnliche Stilattribute unterstützen auch Variablenattribute Vererbung und Kaskadierung. Im folgenden Beispiel ist der Variablenwert des Body-Elements grün und der Variablenwert des p-Elements rot. Basierend auf dem Prinzip der Kaskadierung ist die endgültige Hintergrundfarbe des p-Elements rot

<body style="--bgColor:green;">
    <p style="width: 100px;height: 100px;--bgColor: red;background-color: var(--bgColor,pink)"></p>    </body>

Kombination und Berechnung

【Kombination】

CSS-Variablen können in Kombination verwendet werden

<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>

CSS-Variablen können jedoch nicht in der folgenden Form kombiniert werden: var(--color1) var(--color2) wird vom Browser nicht erkannt, z. B. var(--color1) var(--color2), wird als #333 geparst und kann vom Browser nicht erkannt werden

<style>.box{
    --color1:#;
    --color2:333;
    width: 100px;
    height: 100px;
    background-color: var(--color1)var(--color2);}</style><p class="box"></p>

【Berechnung】

Variablen und normale Stile Die Werte sind gleich. Zusätzlich zur Kombination können Sie auch calc zur Berechnung verwenden

<style>.box{
    --borderWidth:2px;
    width: 100px;
    height: 100px;
    background-color:lightblue;
    border-left: calc(var(--borderWidth) * 2) solid black;}</style><p class="box"></p>

JS

CSS Variablen können mit JS interagieren. Es ist zu beachten, dass Sie nur die Methoden getPropertyValue() und setProperty() verwenden können, nicht jedoch das Style-Attribut

[style attribute]

<p id="box" style="--color:lightgreen;background-color: var(--color)"></p>    <script>  var oBox = document.getElementById(&#39;box&#39;);
  console.log(oBox.style[&#39;--color&#39;]);    //undefined</script>

[getPropertyValue()]

<p id="box" style="--color:lightgreen;background-color: var(--color)"></p>    <script>  var oBox = document.getElementById(&#39;box&#39;);
  console.log(oBox.style.getPropertyValue(&#39;--color&#39;));//&#39;lightgreen&#39;</script>

【setProperty()】

<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(&#39;box&#39;);var oBtn = document.getElementById(&#39;btn&#39;);
oBtn.onclick = function(){
    oBox.style.setProperty(&#39;--color&#39;,&#39;lightblue&#39;);
}</script>

Nicht unterstützt

Zu beachten ist, dass die Variable nicht unterstützt wird

.box{
    --color:red;
    width: 100px;
    height: 100px;
    background-color:--color !important;
}</style><p class="box"></p>

Der Screenshot des Chrome-Browsers ist wie folgt

Zweck

1. Wartbarkeit

Das Beibehalten eines Farbschemas oder Größenschemas auf einer Webseite bedeutet, dass einige Stile verwendet werden mehrfach in der CSS-Datei vorkommen und wiederverwendet werden. Wenn Sie einen Plan ändern, sei es die Anpassung eines bestimmten Stils oder die vollständige Änderung des gesamten Plans, wird dies zu einem komplexen Problem, und einfaches Suchen und Ersetzen reicht nicht aus. Hier kommen CSS-Variablen zum Einsatz

:root{
  --mainColor:#fc0;
}
.p1{
  color:var(--mainColor);
}
.p2{
  color:var(--mainColor);
}

2. Semantik

Der zweite Vorteil von Variablen besteht darin, dass der Name selbst semantische Informationen enthält. CSS-Dateien werden lesbar und verständlich. main-text-color ist im Dokument leichter zu verstehen als #fc0, insbesondere wenn dieselbe Farbe in verschiedenen Dateien vorkommt

 3. Es ist bequemer, @media media query zu implementieren

Im Allgemeinen , Medienabfragen lauten wie folgt

c9ccee2e6ea535a969eb3f532ad9fe89.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;        
    }}531ac245ce3e4fe3d50054a55f2659279890cd3db8af2c13be66110fccb4c14994b3e26ee717c64999d7867364b1b4a3

Wenn Sie jedoch Variablen verwenden, können Sie den Code optimieren

<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>

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein Lernen, mehr Bitte beachten Sie die PHP-Chinese-Website für verwandte Inhalte!

Verwandte Empfehlungen:

Analyse des Positionsattributs von CSS

So legen Sie Platzhalter über CSS fest

Das obige ist der detaillierte Inhalt vonAnalyse der CSS-Variablenvariable. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn