So erben Sie Werte in CSS-Variablen
CSS-Variablen, auch benutzerdefinierte Eigenschaften genannt, ermöglichen es uns, Werte auf eine Weise zu speichern und zu bearbeiten, die in unserem gesamten Prozess wiederverwendet werden kann Stylesheet. Eine Einschränkung von CSS-Variablen besteht jedoch darin, dass sie keine Werte von ihren übergeordneten Elementen erben können.
Problem
Betrachten Sie beispielsweise den folgenden Code:
:root { --color: rgba(20, 20, 20, 0.5); /* Default value */ } .box { width: 50px; height: 50px; display: inline-block; margin-right: 30px; border-radius: 50%; position: relative; } .red { background: rgba(255, 0, 0, 0.5); } .blue { background: rgba(0, 255, 0, 0.5); } .box:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; transform: translateX(30px); background: var(--color); filter: invert(1); }
In diesem Code haben wir eine :root-Regel, die eine --color-Variable mit dem Standardwert rgba(20, 20, 20, 0,5) definiert. Wir haben auch eine .box-Klasse, die einige Stile für ein rechteckiges Element festlegt, und ein :before-Pseudoelement, das ein kreisförmiges Element innerhalb der Box erstellt.
Die Hintergrundeigenschaft des :before-Pseudoelements ist festgelegt zu var(--color), was bedeutet, dass es den Wert der Variablen --color erbt. Wir können jedoch den Wert der Variable --color für jedes Feld überschreiben, indem wir Inline-Stile verwenden, wie im folgenden Beispiel gezeigt:
<div class="box red"> <p>Die Variable --color der ersten beiden Felder wird auf gesetzt rgba(0, 255, 0, 0.5) bzw. rgba(0, 255, 255, 0.5), während das dritte Feld versucht, die Variable --color von seinem übergeordneten Element zu erben. Wie wir bereits erwähnt haben, können CSS-Variablen jedoch keine Werte erben, daher bleibt die Variable --color für das dritte Feld auf ihrem Standardwert rgba(20, 20, 20, 0.5).</p> <h3 id="Lösung">Lösung</h3> <p>Die Funktion var() bietet eine Möglichkeit, einen Fallback-Wert für eine CSS-Variable zu definieren, falls die Variable nicht definiert oder auf ihren Anfangswert gesetzt ist. Der Fallback-Wert wird als zweites Argument der Funktion var() angegeben, wie im folgenden Beispiel gezeigt:</p> <pre class="brush:php;toolbar:false">background: var(--color, inherit);
In diesem Beispiel, wenn die Variable --color nicht definiert oder auf ihren Wert gesetzt ist Beim Anfangswert erbt die Hintergrundeigenschaft die Farbe des übergeordneten Elements. Dies ist genau das Verhalten, das wir in diesem Fall wollen.
Hier ist der aktualisierte Code mit dem zusätzlichen Fallback-Wert:
:root { --color: rgba(25, 25, 25, 0.5); /* Defined as the default value */ } .box { width: 50px; height: 50px; display: inline-block; margin-right: 30px; border-radius: 50%; position: relative; } .red { background: rgba(255, 0, 0, 0.5); } .blue { background: rgba(0, 0, 255, 0.5); } .box:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; transform: translateX(30px); background: var(--color, inherit); filter: invert(1); }
Jetzt erben alle drei Kästchen die Farbe ihrer übergeordneten Felder Element, auch wenn die Variable --color in den Inline-Stilen auf einen anderen Wert gesetzt ist.
Das obige ist der detaillierte Inhalt vonWie erbe ich Werte mithilfe von CSS-Variablen mit einem Fallback?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Goofonts ist ein Nebenprojekt, das von einer Entwicklerin und einem Designer-Ehemann signiert wurde, beide große Fans der Typografie. Wir haben Google markiert

Pavithra Kodmad bat die Menschen um Empfehlungen zu den Angaben, die sie für einige der zeitlossten Artikel über Webentwicklung hielten, die ihre verändert haben

Zwei Artikel veröffentlichten genau den selben Tag:

Das Erstellen des Erstellens von GraphQL -APIs kann eine große Herausforderung sein. Sie können jedoch lernen, wie Sie GraphQL -APIs in 10 Minuten verwenden! Und es passiert so, dass ich das perfekte bekommen habe

Wenn eine Komponente in einer Umgebung lebt, in der die Datenabfragen sie in der Nähe leben, gibt es eine ziemlich direkte Grenze zwischen der visuellen Komponente und der

Hier ist einige legitime CSS -Tricks von Yuanchuan. Es gibt diesen CSS-Immobilien-Offset-Pfad. Es war einmal, es wurde als Bewegungspfad bezeichnet und dann umbenannt. ICH

Miriam Suzanne erklärt in einem Mozilla -Entwickler -Video zu diesem Thema.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung