Mit der neuen attr()
-Funktion kannst du Werte aus HTML-Attributen direkt in CSS-Eigenschaften einsetzen – z. B. für Farben, Grössen oder Texte.
Früher war attr()
nur für den Inhalt (content
) nutzbar – jetzt funktioniert sie auch in visuellen CSS-Eigenschaften wie background-color
, width
, font-size
usw.
Damit kannst du z.B. ein Attribut wie data-color
direkt als Wert für background-color
verwenden – mit Typprüfung und Fallback.
Beispiel: background-color mit attr()
.my-box {
/* Holt den Wert aus data-color, erwartet einen Farbwert, fallback ist rot */
background-color: attr(data-color color, red);
}
<div class="my-box" data-color="#00ccff">Hallo!</div>
<div class="my-box">Fallback ist rot</div>
- Die erste Box bekommt die Hintergrundfarbe aus dem Attribut
data-color
. - Die zweite Box hat kein
data-color
→ Fallback istred
.
Erklärung der Syntax
background-color: attr(data-color color, red);
data-color
: Name des HTML-Attributscolor
: Typprüfung, erwartet einen CSS-Farbwertred
: Fallback, falls das Attribut fehlt oder ungültig ist
Hinweise
- Browser-Support:
Funktioniert in aktuellen Chromium-Browsern (Chrome, Edge, Opera), noch nicht in Firefox und Safari (Stand Juli 2025). Weitere Details und aktuelle Informationen betreffend Browser-Support findest du auf caniuse.com. - Typen:
Unterstützt werden z.B.color
,length
,number
,url
,integer
,angle
,percentage
,ident
,string
Fazit
Mit attr(data-color color, red)
kannst du dynamisch Werte aus HTML-Attributen für CSS-Eigenschaften wie background-color
verwenden – inklusive Typprüfung und Fallback!
Das ist ein grosser Schritt zu dynamischerem, deklarativem CSS.