Problem: CSS-Variablen funktionieren in Medienabfragen nicht
Beim Versuch, CSS-Variablen in Medienabfragen zu integrieren, bleiben sie wirkungslos. Als Beispiel dient folgender Code:
:root { --mobile-breakpoint: 642px; } @media (max-width: var(--mobile-breakpoint)) { }
Erklärung:
Laut CSS-Spezifikation:
"Die Funktion var() kann kann anstelle eines Teils eines Werts in einer Eigenschaft eines Elements verwendet werden. Die Funktion var() kann nicht als Eigenschaftsname, Selektor oder irgendetwas anderes als Eigenschaft verwendet werden Werte.“
Mit anderen Worten: Während Variablen in Eigenschaftswerte integriert werden können, bleiben sie mit Medienabfragen inkompatibel. Dies liegt daran, dass Medienabfragen keine HTML-Elemente sind und daher nicht vom Stammelement erben können, in dem Variablen normalerweise definiert sind.
Alternativen:
Um Ähnliches zu erreichen Funktionalität können Entwickler die Verwendung eines CSS-Präprozessors in Betracht ziehen. Präprozessoren erweitern CSS, indem sie das Schreiben von benutzerdefiniertem Code ermöglichen, der zum Erstellen dynamischer Medienabfragen basierend auf Variablenwerten verwendet werden kann.
Das obige ist der detaillierte Inhalt vonWarum funktionieren meine CSS-Variablen in Medienabfragen nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!