CSS - Hintergrundfarben


CSS - Farben

In CSS gibt es zwei Varianten für Farbangaben:

Farbname

Über den englischen Farbnamen (black, red, blue, green, ..) kann eine der insgesamt 140 in CSS vordefinierten Farben ausgewählt werden. Eine Übersicht aller mit Namen gekennzeichneten Farben ist z.B. hier zu finden: Farbcodes.

RGB-Code bzw. Hexadezimale Darstellung

Ein RGB-Farbraum ist ein additiver Farbraum, der Farbwahrnehmungen durch das Mischen der drei Grundfarben Rot, Grün und Blau nachbildet. Bei der additiven Farbmischung ändert das Hinzufügen eines jeweils anderen Farbreizes den vom Auge empfundenen Farbeindruck. Werden alle drei Grundfarben in ihrer maximalen Intensität gemischt, ergibt sich die Farbe Weiß.

In Rechnersystemen wird dieser Farbreiz mit einem RGB-Code nachgebildet. Dafür wird für einen Farbton ein Zahlentripel definiert, das die Menge an rotem, grünem und blauem Licht beschreibt: Farbe = (R, G, B). Für die Wertebereiche der Farbreize (R, G, B) werden ganze Zahlen zwischen 0 (kein Anteil der jeweiligen Farbe) und 255 (maximaler Anteil der Farbe) benutzt.

Somit kann bei einer konkreten Farbe jede der Grundfarben einen von insgesamt 256 Werten haben. Dadurch ergeben sich 256 * 256 * 256 = 16'777'216 mögliche Kombinationen und somit genauso viele Farben, die im RGB-Raum dargestellt werden können.

Für den RGB-Raum können in CSS unterschiedliche Schreibweisen benutzt werden:

  • RGB-Wert als ganze Zahl: rgb(160, 180, 255),
  • RGB-Wert als Prozentzahl: rgb(63%, 71%, 100%), wobei 0% der Zahl 0 und 100% der Zahl 255 entsprechen.
  • Hexadezimalwert: #A0B4FF. Das #-Zeichen leitet eine hexadezimale Zahl ein. Die Zahl ist immer sechsstellig, wobei die ersten zwei Ziffern der Farbe Rot, die nächsten zwei die Farbe Grün und die letzten zwei die Farbe Blau beschreiben. Auch damit können für jede Farbe 256 Zahlen definiert werden: 00 (hexadezimal) entspricht der Zahl 0 im Dezimalsystem, FF entspricht der dezimalen Zahl 255.

    Dabei kann der Sonderfall, in dem alle drei Farben durch jeweils zwei gleiche Hexadezimalwerte dargestellt werden, noch mal gekürzt werden: #993366 kann mit #936 abgekürzt werden.

Da die hexadezimale Darstellung die kürzeste Form ist, sollte diese standardmäßig in CSS benutzt werden, um unnötige Ladezeiten zu vermeiden.

CSS - Farben mit Transparenzen

Zusätzlich können in CSS Farben mit Transparenz definiert werden: Dafür wird der so genannte RGBa-Code benutzt, wobei a für alpha, den Transparenzkanal steht. Eine Farbe ist komplett transparent, wenn ihr Wert für den Alpha-Kanal bei 1 bzw. 100% liegt. Die Farbe hat ihre vollständige Deckkraft, wenn ihr Wert für den Alpha-Kanal bei 0 bzw. 0% liegt. Beispiele: rgba(160, 180, 255, 0.5) oder rgba(160, 180, 255, 50%).

Für die Farbauswahl im Alltag stehen vielfältige Tools zur Verfügung, z.B. der Color-Picker: Color-Picker.

CSS - Benutzung von Farben

In CSS werden Farbwerte hauptsächlich für die Schriftfarbe und für die Hintegrundfarbe von Boxen benutzt:

  • Die Schriftfarbe wird mit der Eigenschaft color definiert, z.B. p {color: rgb(160, 180, 255);} oder mit Transparenz: p {color: rgba(160, 180, 255, 30%);} .
  • Die Hintergrundfarbe wird mit der Eigenschaft background-color definiert, z.B. p {background-color: rgb(160, 180, 255);} oder mit Transparenz: p {background-color: rgba(160, 180, 255, 30%);} .
  • Zudem kann für die Schrift- und die Hintergrundfarbe auch ihre Deckkraft mit der Eigenschaft opacity angegeben werden. Im Gegensatz zu den Farbangaben mit dem Alphakanal bezieht sich die Deckkraft auf die gesamte Box, d.h., hat die Eigenschaft opacity einen Wert, der kleiner als 1 bzw. 100% ist, werden alle Inhalte der Box transparent dargestellt.

    Beispiel: Benutzung von Farben

    See the Pen CSS – Farben by Barbara Dörsam, HdM Stuttgart (@bdhdm) on CodePen.