CSS – Farben und Hintergründe

1. Farben in CSS

Mit CSS können Textfarben, Hintergrundfarben und Rahmenfarben festgelegt werden.

Dafür gibt es verschiedene Schreibweisen, beispielsweise Farbnamen, HEX, RGB und HSL.

Beispiel

h1 {
    color: blue;
}

body {
    background-color: white;
}
Merken: Die Eigenschaft color bestimmt die Textfarbe. Mit background-color wird die Hintergrundfarbe festgelegt.

2. Farben mit Farbnamen

CSS unterstützt zahlreiche vordefinierte Farbnamen.

Beispiel

p {
    color: red;
}

h2 {
    color: blue;
}

div {
    background-color: green;
}

Farbdarstellung

red
blue
green

Häufig verwendete Farbnamen sind red, blue, green, black, white, gray, yellow und orange.


3. HEX-Farben

HEX-Farben werden durch ein Rautezeichen und hexadezimale Ziffern beschrieben.

Die Schreibweise #RRGGBB enthält jeweils zwei Stellen für Rot, Grün und Blau.

Beispiele

h1 {
    color: #1959a6;
}

p {
    color: #333333;
}

body {
    background-color: #ffffff;
}
HEX-Wert Farbe
#ff0000 Rot
#00ff00 Grün
#0000ff Blau
#ffffff Weiß
#000000 Schwarz
#1959a6 Dunkelblau
#1959a6

4. RGB-Farben

RGB steht für Red, Green und Blue. Die drei Farbkanäle werden durch Zahlenwerte von 0 bis 255 beschrieben.

Beispiel

h1 {
    color: rgb(25, 89, 166);
}

p {
    color: rgb(220, 38, 38);
}
rgb(220, 38, 38)
RGB-Wert Farbe
rgb(255, 0, 0) Rot
rgb(0, 255, 0) Grün
rgb(0, 0, 255) Blau
rgb(255, 255, 255) Weiß
rgb(0, 0, 0) Schwarz

5. RGBA – Farben mit Transparenz

Mit einem zusätzlichen Alpha-Wert kann die Transparenz einer Farbe eingestellt werden.

Der Alpha-Wert liegt zwischen 0 und 1. Dabei bedeutet 0 vollständig transparent und 1 vollständig deckend.

Beispiel

.box {
    background-color: rgba(25, 89, 166, 0.5);
}

Ergebnis

50 % Deckkraft
Hinweis: Moderne CSS-Schreibweisen erlauben auch rgb(25 89 166 / 50%).

6. HSL-Farben

HSL steht für Hue, Saturation und Lightness.

Beispiel

.box {
    background-color: hsl(150, 65%, 35%);
}
hsl(150, 65%, 35%)

7. HEX, RGB und HSL im Vergleich

Schreibweise Beispiel
Farbname blue
HEX #0000ff
RGB rgb(0, 0, 255)
HSL hsl(240, 100%, 50%)

Alle vier Beispiele beschreiben dieselbe blaue Farbe.


8. Hintergrundfarbe mit background-color

Die Eigenschaft background-color legt die Hintergrundfarbe eines Elements fest.

CSS-Code

.hinweis {
    background-color: #eff6ff;
    padding: 20px;
}
Dieser Bereich hat einen hellblauen Hintergrund.

9. Hintergrundbilder mit background-image

Mit background-image kann ein Bild als Hintergrund eines Elements verwendet werden.

CSS-Code

.banner {
    background-image: url("bilder/hintergrund.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

Der angegebene Bildpfad muss zu einer vorhandenen Bilddatei führen. Relative Pfade in CSS-Dateien beziehen sich auf den Speicherort der CSS-Datei.

Beispiel eines Hintergrundmusters

Hintergrund mit CSS-Muster
Hinweis: Das sichtbare Beispiel verwendet einen CSS-Verlauf als Muster. Dafür ist keine Bilddatei notwendig.

10. background-size

Mit background-size wird die Größe eines Hintergrundbildes bestimmt.

Wert Bedeutung
auto Ursprüngliche Bildgröße
cover Füllt den Bereich vollständig, gegebenenfalls mit Beschnitt
contain Zeigt das gesamte Bild innerhalb des Bereichs
100% 100% Streckt das Bild auf Breite und Höhe des Bereichs

Beispiel

.banner {
    background-size: cover;
    background-position: center;
}

11. background-repeat

Die Eigenschaft background-repeat bestimmt, ob ein Hintergrundbild wiederholt wird.

Wert Beschreibung
repeat Wiederholung in beide Richtungen
no-repeat Keine Wiederholung
repeat-x Horizontale Wiederholung
repeat-y Vertikale Wiederholung

12. Lineare Farbverläufe

Mit linear-gradient() können fließende Übergänge zwischen mehreren Farben erzeugt werden.

CSS-Code

.banner {
    background: linear-gradient(
        to right,
        #1959a6,
        #60a5fa
    );
}

Ergebnis

Linear Gradient

13. Radiale Farbverläufe

Mit radial-gradient() wird ein Farbverlauf erzeugt, der sich von einem Mittelpunkt nach außen ausbreitet.

CSS-Code

.kreis {
    background: radial-gradient(
        circle,
        #bfdbfe,
        #1959a6
    );
}

Ergebnis

Radial Gradient

14. opacity – Transparenz eines Elements

Die Eigenschaft opacity bestimmt die Deckkraft des gesamten Elements einschließlich seines Inhalts.

CSS-Code

.box {
    opacity: 0.5;
}

Ergebnis

Dieses gesamte Element besitzt 50 % Deckkraft.
Unterschied: Bei opacity wird das gesamte Element einschließlich des Textes transparent. Bei einer Hintergrundfarbe mit rgba() kann dagegen nur der Hintergrund transparent sein.

15. Rahmenfarben und Schatten

CSS ermöglicht außerdem farbige Rahmen und Schatten.

Rahmen

.box {
    border: 4px solid #1959a6;
    border-radius: 12px;
}
Ein Element mit blauem Rahmen und abgerundeten Ecken.

Schatten

.karte {
    box-shadow: 0 8px 25px
        rgba(0, 0, 0, 0.15);
}
Diese Karte besitzt einen weichen Schatten.

16. Lesbarkeit und Farbkontrast

Bei der Gestaltung von Webseiten muss auf ausreichenden Kontrast zwischen Text und Hintergrund geachtet werden.

Guter Kontrast

Weißer Text auf dunkelblauem Hintergrund ist gut lesbar.

Schlechter Kontrast

Gelber Text auf einem hellgelben Hintergrund ist schwer lesbar.
Barrierefreiheit: Nach WCAG wird für normalen Text in der Regel ein Kontrastverhältnis von mindestens 4,5:1 empfohlen beziehungsweise für Konformitätsstufe AA gefordert. Für großen Text gilt mindestens 3:1.

17. Praktische Übungen

Aufgabe 1

Stellen Sie die Textfarbe aller h1-Elemente auf Rot.

Lösung anzeigen
h1 {
    color: red;
}

Aufgabe 2

Geben Sie dem body-Element einen hellgrauen Hintergrund.

Lösung anzeigen
body {
    background-color: #f1f5f9;
}

Aufgabe 3

Schreiben Sie die Farbe Blau als RGB-Wert.

Lösung anzeigen
rgb(0, 0, 255)

Aufgabe 4

Erstellen Sie einen linearen Farbverlauf von Rot nach Blau.

Lösung anzeigen
.box {
    background: linear-gradient(
        to right,
        red,
        blue
    );
}

Aufgabe 5

Erstellen Sie eine Box mit einem halbtransparenten blauen Hintergrund.

Lösung anzeigen
.box {
    background-color:
        rgba(0, 0, 255, 0.5);
}

Aufgabe 6

Welche Eigenschaft sorgt dafür, dass ein Hintergrundbild den gesamten Bereich ausfüllt?

Lösung anzeigen
background-size: cover;

Aufgabe 7

Erklären Sie den Unterschied zwischen opacity und rgba().

Lösung anzeigen

opacity beeinflusst die Deckkraft des gesamten Elements. Mit rgba() kann die Transparenz einer einzelnen Farbe bestimmt werden.


18. Zusammenfassung

In CSS können Farben mit Farbnamen, HEX, RGB und HSL definiert werden. Transparenz kann über Alpha-Werte oder opacity eingestellt werden.

Hintergrundfarben werden mit background-color festgelegt. Hintergrundbilder verwenden background-image. Mit linear-gradient() und radial-gradient() können Farbverläufe erstellt werden.

Eine gute Farbgestaltung berücksichtigt auch Lesbarkeit und Barrierefreiheit.