kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

Das currentColor-Keyword von CSS

CSS-Code enthält naturgemäß viele Wiederholungen, was von Entwicklern regelmäßig kritisiert wird. Mit Hilfe von CSS-Präprozessoren wie Sass kann der Code DRYer (weniger repetitiv) gestaltet werden, doch auch CSS selbst stellt Funktionen bereit die Ähnlichkeit mit Variablen haben. Eine davon ist der currentColor-Wert.

Workshops und Seminare von kulturbanause

Visual Prototyping, Responsive Design, CSS Grid & Flexbox, Sketch, Adobe XD …

Jetzt Frühbucher-Rabatte sichern!

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.



/* Für die Funktion irrelevante 
Eigenschaften sind gekürzt */

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

#icon-warning {
  fill:currentcolor;
}

Beispiel anschauen

Browser-Support

Der Browser-Support ist überraschend gut. Alle modernen Browser inkl. IE9+ unterstützen das Keyword.

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Das könnte dich auch interessieren

4 Kommentare

  1. Björn

    Verfasst am 2. März 2015 um 16:04 Uhr.

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

    • Jonas Hellwig

      Verfasst am 2. März 2015 um 17:13 Uhr.

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

  2. Gast

    Verfasst am 17. März 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;
    }

    • Jonas Hellwig

      Verfasst am 17. März 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.

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.