2017-01-11 1 views
-1

ich über neue css-variables Syntax lerne und ich frage mich, warum müssen wir var Aussage um variabel setzen:Warum müssen wir css-Variablen in var() umbrechen?

.button { 
    background-color: var(--bg-color); 
} 

Soweit ich sehe, gibt es keine jede Zweideutigkeit, wenn Sie wie es Variable gesetzt wird ist

.button { 
    background-color: --bg-color; 
} 

Warum funktioniert die zweite Option nicht? Ich möchte es wirklich verwenden, weil es viel sauberer aussieht, vor allem mit calc.

UPD. Dies ist eher eine Frage, warum das aktuelle Design entwickelt wurde. Zum Beispiel können Sie mit LESS und SASS Variablen ohne var() setzen. Daher würde ich gerne etwas über Kompromisse erfahren, die CSS veranlasst haben, var() zu verwenden.

Konnte keine Diskussion über diesen Vorschlag in öffentlichen Quellen finden. Alle Links dazu werden ebenfalls geschätzt.

+2

Sie haben die Mailinglisten für die CSS scheuern Gruppe arbeiten, um ihre Diskussionen über CSS Variablen Syntax zu finden, warum jede Person stimmten diese Syntax zu verwenden. Diese Art von Frage ("Warum haben sich die Entwickler dazu entschlossen, X so zu machen") ist hier kein Thema. – TylerH

Antwort

1

Dies liegt daran, dass var() eine Funktion ist, die den Wert der Variablen abruft.

See: var() on MDN

+0

Ja, ich verstehe, dass dies eine Syntaxanforderung ist. Meine Frage war, warum diese Anforderung an erster Stelle entwickelt wurde? Scheint wie sehr redundante Sache. –

+0

Ich sehe deinen Standpunkt. Meiner Erfahrung nach liegt es daran, dass alte Browser existieren und wenn sie etwas wie '' 'Hintergrundfarbe: var (- blue-bkg)' '' sehen und sie werden es ignorieren, aber sie könnten etwas wie '' 'Hintergrund erfolgreich parsen -color: --blue-bkg''', um einen blauen Hintergrund zu erstellen. –

+0

'--blue-bkg' ist weder nicht' hex' oder 'rgba' oder benannte Farbe. Ich glaube, dass Doppelstrich '-' für jede Variable genug Schutz für Rückwärtskompatibilität ist. –

Verwandte Themen