CSS unterstütz eine Vielzahl von Farben. Dazu gehören benannte Farben wie Blau (blue), Schwarz (black) und Limettengrün (limegreen) sowie Farben, die durch einen numerischen Wert beschrieben werden. Durch die Verwendung eines numerischen Systems können wir das gesamte Spektrum der von Browsern unterstützen Farben nutzen. In dieser Lektion werden wir alle Farboptionen erkunden, die CSS bietet.
Farben in CSS können auf drei verschiedene Arten beschrieben werden:
Benannte Farben - Englische Wörter, die Farben beschreiben, auch Schlüsselwortfarben genannt
RGB - Numerische Werte, die eine Mischung aus Rot, Grün und Blau beschreiben
HSL - Numerische Werte, die eine Mischung aus Farbton, Sättigung und Helligkeit beschreiben
Wir werden die Vorteile jedes einzelnen davon im Detail kennenlernen und erforschen. Wenn wir nur benannte Farben verwenden, haben wir möglicherweise das Gefühl, beschriftete Buntstifte aus einer Schachtel zu nehmen. Am Ende dieser Lektion werden wir uns wie ein Maler fühlen, der Farben auf einer Palette mischt.
Bevor wir uns mit den Besonderheiten der Farbe befassen, müssen wir zwei Dinge unterscheiden. Farbe kann die folgenden Designaspekte beeinflussen:
Die foreground Color (Vordergrundfarbe)
Die background Color (Hintergrundfarbe)
Die Vordergrundfarbe ist die Farbe, in der ein Element angezeigt wird. Wenn beispielsweise eine Überschrift so gestaltet ist, dass sie grün erscheint, wurde die Vordergrundfarbe der Überschrift formatiert.
Wenn umgekehrt eine Überschrift so gestaltet ist, dass ihr Hintergrund gelb erscheint, wurde die Hintergrundfarbe der Überschrift formatiert.
In CSS können diese beiden Designaspekte mit den folgenden zwei Eigenschaften gestylt werden:
color - diese Eigenschaft stylt die Vordergrundfarbe eines Elements
background-color - diese Eigenschaft stylt die Hintergrundfarbe eines Elements
Im obigen Beispiel wird der Text der Überschrift in Rot und der Hintergrund der Überschrift in Blau angezeigt.
Eine Syntax, die wir zur Angabe von Farben verwenden können, heißt Hexadezimal. Mit diesem System angegebene Farben werden Hex-Farben genannt. Eine Hexadezimalfarbe beginnt mit einem Rautezeichen (#), dem drei oder sechs Zeichen folgen. Die Zeichen stellen Werte für Rot, Blau und Grün dar.
Im obigen Beispiel stellen wir möglicherweise fest, dass die Werte sowohl Buchstaben als auch Zahlen enthalten. Dies liegt daran, dass das hexadezimale Zahlensystem 16 Ziffern (0-15) anstelle von 10 (0-9) wie im Standard-Dezimalsystem hat. Um 10-15 darzustellen, verwenden wir A-F.
Hier ist eine Liste vieler verschiedener Farben und ihrer Hex-Werte.
Beachten wir, dass Schwarz, Weiß und Aquamarin sowohl mit drei als auch mit sechs Zeichen dargestellt werden können. Dies kann mit Hex-Farben erfolgen, deren Zahlenpaare die gleichen Zeichen sind. Im obigen Beispiel kann Aqua als #0FF dargestellt werden, da beide ersten beiden Zeichen 0 sind und das zweite und dritte Zeichenpaar beide F's sind. Beachten wir auch, dass alle drei hexadezimalen Zeichenfarben mit sechs Zeichen dargestellt werden können (durch zweimaliges Wiederholen jedes Zeichens), umgekehrt gilt dies jedoch nicht.
Wir könne Hex-Farben genauso einschließen wie benannte Farben (background-color: #9932cc;) und die Buchstaben können Groß- oder Kleinbuchstaben sein.
Es gibt eine andere Syntax zur Darstellung von RGB-Werten, die üblicherweise als "RGB-Wert" oder einfach "RGB" bezeichnet wird und Dezimalzahlen anstelle von Hexadezimalzahlen verwendet.
Diese sieht folgendermaßen aus:
Jeder der drei Werte stellt eine Farbkomponente dar und jeder kann einen dezimalen Zahlenwert von 0 bis 255 haben. Die erste Zahl stellt den Rotanteil dar, die zweite ist grün und die dritte Blau. Diese Farben sind genau die gleichen wie Hex, jedoch mit einer anderen Syntax und einem anderen Zahlensystem.
Im Allgemeinen sind Hex- und RGB- Farbdarstellungen gleichwertig. Wofür wir uns entscheiden, ist eine Farbe des persönlichen Geschmacks. Dennoch ist es gut, eines auszuwählen und im gesamten CSS konsistent zu sein, da es einfacher ist, Hexadezimalwerte mit Hexadezimalwerten und RGB mit RGB zu vergleichen.
Das Hexadezimal- und RGB-Farbsystem kann viel mehr Farben darstellen als der kleine Satz CSS-benannter Farben.
Mit diesem neuen Farbsatz können wir den Stil unserer Webseite verfeinern.
Sowohl in Hex als auch in RGB haben wir drei Werte, einen für jede Farbe. Jeder kann einer von 256 Werten sein. Konkret: 256 * 256 * 256 = 16.777.216. Das ist die Menge an Farben, die wir jetzt darstellen können. Vergleichen wir das mit den runt 140 benannten CSS-Farben!
Denken wir daran, dass wir mit benannten Farben begonnen, sie in Hex konvertiert haben und dann einige der Hex-Farben in RGB konvertiert haben. Sofern wir keinen Fehler gemacht haben, sollten alle Farben optisch immer noch gleich sein. Nutzen wir unsere erweiterte Palette, um eine raffiniertere Farbauswahl zu treffen.
Das RGB-Farbschema ist praktisch, da es der internen Farbdarstellung von Computern sehr nahe kommt. In CSS gibt es ein weiteres ebenso leistungsstarkes System namens Hue-Saturation-Lightness Farbschema, abgekürzt als HSL.
Die Syntax für HSL ähnelt der Dezimalform von RGB, unterscheidet sich jedoch in wichtigen Punkten. Die erste Zahl stellt den Grad des Farbtons dar und kann zwischen 0 und 360 liegen. Die zweite und dritte Zahl sind Prozentsätze, die Sättigung bzw. Helligkeit darstellen.
Hier ist ein Beispiel:
Farbton ist die erste Zahl. Es bezieht sich auf einen Winkel auf einem Farbkreis. Rot hat 0 Grad, Grün hat 120 Grad, Blau hat 240 Grad und dann zurück zu Rot bei 360.
Sättigung bezieht sich auf die Intensität oder Reinheit der Farbe. Die Sättigung steigt in Richtung 100%, je kräftiger die Farbe wird. Die Sättigung nimmt in Richtung 0% ab, je grauer die Farbe wird.
Helligkeit bezieht sich darauf, wie hell oder dunkel die Farbe ist. Die Hälfte oder 50% entspricht der normalen Helligkeit. Stellen wir uns einen Schiebedimmer an einem Lichtschalter vor, der auf halbem Weg startet. Wenn wir den Dimmer auf 100% schieben, wird die Farbe heller, näher an Weiß. Wenn wir den Dimmer nach unten in Richtung 0% schieben, wird die Farbe dunkler, näher an Schwarz.
HSL eignet sich zum Anpassen von Farben. Bei RGB kann eine etwas dunklere Farbe Auswirkungen auf alle drei Farbkomponenten haben. In HSL ist das so einfach wie das Ändern des Helligkeitswerts. HSL ist auch nützlich, um eine Reihe von Farben zu erstellen, die gut zusammenpassen, indem verschiedene Farben ausgewählt werden, die die gleiche Helligkeit und Sättigung, aber unterschiedliche Farbtöne haben.
Alle Farben, die wir bisher gesehen haben, waren undurchsichtig oder nicht transparent. Wenn wir zwei undurchsichtige Elemente überlappen, scheint nichts vom unteren Element durch das obere Element hindurch. In dieser Übung ändern wir die Deckkraft oder den Grad der Transparenz einiger Farben, sodass einige oder alle der unteren Elemente durch ein Abdeckelement sichtbar sind.
Um die Deckkraft im HSL-Farbschema zu verwenden, nutzen wir hsla anstelle von hsl und vier Werte anstelle von drei.
Zum Beispiel:
Die ersten drei Werte funktionieren genauso wie hsl. Der vierte Wert (den wir bisher noch nicht gesehen haben) ist das Alpha. Dieser letze Wert wird manchmal als Opazität bezeichnet.
Alpha ist eine Dezimalzahl von null bis eins. Wenn Alpha Null ist, ist die Farbe vollständig transparent. Wenn Alpha eins ist, ist die Farbe undurchsichtig. Der Wert für halbtransparent wäre 0.5.
Wir können uns den Alpha-Wert als "die Menge des Hintergrunds, der mit dem Vordergrund gemischt werden soll" vorstellen. Wenn der Alpha-Wert einer Farbe unter eins liegt, wird jede dahinter liegende Farbe eingemischt. Die Mischung erfolgt für jedes Pixel, es tritt keine Unschärfe auf.
Das RGB-Farbschema hat eine ähnliche Syntax für die Deckkraft, rgba. Auch hier funktionieren die ersten drei Werte genauso wie RGB und der letze Wert ist Alpha.
Hier ist ein Beispiel:
Etwas unkonventionell, aber dennoch erwähnenswert ist, dass Hex-Farben auch einen Alpha-Wert haben können. Durch Hinzufügen eines zweistelligen Hexadezimalwerts am Ende der sechsstelligen Darstellung (#52BC8280) oder eines einstelligen Hexadezimalwerts am Ende der dreistelligen Darstellung (#F003) können wir die Deckkraft von Hexadezimalen Farben ändern. Die Hex-Deckkraft reicht von 00 (transparent) bis FF (undurchsichtig).
Alpha kann nur mit HSL-, RGB- und Hex-Farben verwendet werden. Wir können den Alphawert nicht hinzufügen, um Farben wie Grün zu benennen.
Es gibt jedoch ein benanntes Farbschlüsselwort für Null-Deckkraft: transparent.
Es entspricht rgba (0, 0, 0, 0) und wird wie jedes andere Farbschlüsselwort verwendet:
Wir haben unsere ausführliche Tour durch die Farben in CSS abgeschlossen!
Sehen wir uns die wichtigsten Informationen an, die wir gelernt haben.
Es gibt vier Möglichkeiten, Farben in CSS darzustellen:
Benannte Farben - es gibt mehr als 140 benannte Farben, die wir hier in der MDN-Dokumentation einsehen können.
Hexadezimale Farben oder Hex Farben
Hexadezimal ist ein Zahlensystem mit sechzehn Ziffern, 0 bis 9, gefolgt von "A" bis "F".
Hexadezimalwerte beginnen immer mit # und geben Werte für Rot, Blau und Grün mit hexadezimalen Zahlen wie #23F41A an.
Sechsstellige Hexadezimalwerte mit doppelten Werten für jeden RGB-Wert können auf drei Ziffern verkürzt werden.
RGB
RGB-Farben verwenden die rgb()-Syntax mit einem Wert für Rot, einem Wert für Blau und einem Wert für Grün.
RGB-Werte reichen von 0 bis 255 und sehen folgendermaßen aus: rgb(7, 210, 50).
HSL
HSL steht für Farbton (die Farbe selbst), Sättigung (die Intensität der Farbe) und die Helligkeit (wie hell oder dunkel eine Farbe ist).
Der Farbton reicht von 0 bis 360 und Sättigung und Helligkeit werden beide als Prozentsätze wie folgt dargestellt: hsl (200, 20%, 50%).
Wir können Farben in RGB und HSL Deckkraft verleihen, indem wir einen vierten Wert, a, hinzufügen, der als Prozentsatz dargestellt wird.
Tolle Arbeit! Ab nun können wir unseren Projekten ein wenig Farbe verleihen!
Schriftfamilie
Schriftstärke
Schriftstil
Texttransformation
Textlayout
Web-Schriftarten