Das currentColor-Keyword von CSS

CSS-Code enthält häufig Wiederholungen, was wir beim Schreiben von sauberem Code gerne vermeiden möchten. Mit Hilfe von CSS-Präprozessoren wie Sass kann der Code DRYer (weniger repetitiv) gestaltet werden. CSS selbst stellt neben nativen CSS-Variablen mit dem currentColor-Wert eine ähnliche Technik zur Verfügung.

currentColor merkt sich die Vordergrundfarbe

Ein Element kann in CSS eine Vordergrundfarbe (color) und eine Hintergrundfarbe (background-color) besitzen. Der Wert currentColor speichert die Vordergrundfarbe eines Elements und ermöglicht es diese Farbe auch anderen Eigenschaften zuzuweisen. Schauen wir und dazu folgendes Beispiel an:

h1 {
  color: lightgreen;
  border-bottom: 1px solid currentColor;
}

Beispiel anschauen

Die zuvor definierte Vordergrundfarbe lightgreen, kann über currentColor auch der Eigenschaft border-bottom zugewiesen werden. Das Keyword folgt dabei der CSS-Kaskade und kann auch in Kind-Elementen eingesetzt werden.

currentColor und SVG-Icons

Die sinnvollen Einsatzmöglichkeiten von currentColor sind überschaubar. Interessant wird die Eigenschaft aber u.a. im Zusammenspiel mit SVG-Icons. Hier kann über die CSS/SVG-Eigenschaft fill das Icon gemeinsam mit anderen Elementen umgefärbt werden. Icons in passender Farbe zu Links, Buttons oder Info-Boxen sind so kein Problem mehr.

Das folgende Beispiel verwendet ein SVG-Icon in einer Box.

.info { 
  color: lightblue;
  border: 1px solid currentColor;
}

#icon-warning {
  fill:currentcolor;
}

Beispiel anschauen

Browser Support

Den detaillierten Browser-Support für dieses Feature könnt ihr auf caniuse.com einsehen.

Data on support for the currentcolor feature across the major browsers from caniuse.com

Geschrieben von Jonas

Benutzerbild

Jonas ist Gründer der Agentur kulturbanause und des kulturbanause Blogs. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Xing

Feedback & Ergänzungen – 4 Kommentare

  1. Gast
    schrieb am 17.03.2015 um 13:31 Uhr:

    Bei dem Beispiel ist keine Variable nötig. Wenn die Farbe fehlt wird automatisch die color-Angabe verwendet.

    .info {
    color: lightblue;
    border: 1px solid;
    }

    Antworten
    • Jonas Hellwig
      schrieb am 17.03.2015 um 14:11 Uhr:

      Das stimmt. Bei box-shadow haben wir u.a. das gleiche Verhalten. Ich denke jedoch, dass die Funktionsweise des currentColor-Keywords im Rahmen des Beispiels gut verständlich ist. Ich wollte ein Beispiel konstruieren, dass mit möglich wenig Code auskommt. In diesem konkreten Fall könnte man die Variable aber in der Tat weglassen.

      Antworten
  2. Björn
    schrieb am 02.03.2015 um 16:04 Uhr:

    Meinst du bei „Die zuvor definierte Hintergrundfarbe lightgreen“ nicht eher „Die zuvor definierte Vordergrundfarbe“?

    Antworten
    • Jonas Hellwig
      schrieb am 02.03.2015 um 17:13 Uhr:

      Korrekt. Vielen Dank für den Hinweis. Ist im Beitrag geändert.

      Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

Website-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir realisieren komplette Projekte oder unterstützen punktuell in den Bereichen Design, Development, Strategy und Content.

Übersicht Kompetenzen →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →