Benutzerdefinierte Eigenschaften (--*): CSS-Variablen

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Eigenschaftsnamen, die mit -- beginnen, wie --example-name, repräsentieren benutzerdefinierte Eigenschaften, die einen Wert enthalten, der in anderen Deklarationen mit der var()-Funktion verwendet werden kann.

Benutzerdefinierte Eigenschaften sind auf das Element/die Elemente beschränkt, auf denen sie deklariert werden, und nehmen an der Kaskade teil: Der Wert einer solchen benutzerdefinierten Eigenschaft ist derjenige aus der Deklaration, die durch den Kaskadenalgorithmus entschieden wird.

Anfangswertsiehe Text
Anwendbar aufalle Elemente
VererbtJa
Berechneter Wertwie angegeben, wobei Variablen ersetzt werden
Animationstypdiskret

Syntax

css
--some-keyword: left;
--some-color: #0000ff;
--some-complex-value: 3px 6px rgb(20 32 54);
<declaration-value>

Dieser Wert entspricht einer beliebigen Sequenz von einem oder mehreren Token, solange die Sequenz kein nicht erlaubtes Token enthält. Es repräsentiert die Gesamtheit dessen, was eine gültige Deklaration als ihren Wert haben kann.

Hinweis: Benutzerdefinierte Eigenschaftsnamen sind case-sensitive — --my-color wird als separate benutzerdefinierte Eigenschaft zu --My-color behandelt.

Beispiel

HTML

html
<p id="firstParagraph">
  This paragraph should have a blue background and yellow text.
</p>
<p id="secondParagraph">
  This paragraph should have a yellow background and blue text.
</p>
<div id="container">
  <p id="thirdParagraph">
    This paragraph should have a green background and yellow text.
  </p>
</div>

CSS

css
:root {
  --first-color: #16f;
  --second-color: #ff7;
}

#firstParagraph {
  background-color: var(--first-color);
  color: var(--second-color);
}

#secondParagraph {
  background-color: var(--second-color);
  color: var(--first-color);
}

#container {
  --first-color: #290;
}

#thirdParagraph {
  background-color: var(--first-color);
  color: var(--second-color);
}

Ergebnis

Spezifikationen

Specification
CSS Custom Properties for Cascading Variables Module Level 1
# defining-variables

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch