Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Analyse der CSS-Variablenvariable

不言
Freigeben: 2018-06-12 15:25:26
Original
1851 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

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

<body style="--bgColor:#000">
Nach dem Login kopieren

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

//错误
<style>
--bgColor:#000;
</style>
Nach dem Login kopieren

【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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

【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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

[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>
Nach dem Login kopieren

【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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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

<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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!