CSS - Hintergrundbilder


Die Eigenschaft background

Der Hintergrund füllt eine Box komplett aus, alle Inhalte der Box überlagern den Hintergrund. Dabei kann der Hintergrund einfarbig sein (Eigenschaft background-color) oder aus einem Hintergrundbild bestehen.

Für die Definition von Hintergrundbildern können folgende Eigenschaften benutzt werden:

background-image:
fügt der Box ein Hintergrundbild hinzu,
background-repeat:
definiert, ob und wie oft das Hintergrundbild in der Box wiederholt wird,
background-position:
definiert, an welcher Stelle der Box das Hintergrundbild platziert wird,
background-size:
definiert die Größe des Hintergrundbildes.
Bildreferenz: background-image

Die Eigenschaft background-image fügt einer Box ein Hintergrundbild hinzu.

Das Bild wird in der linken oberen Ecke der Box platziert und standardmäßig so oft in allen Zeilen und Spalten wiederholt, bis die gesamte Box ausgefüllt ist.

Die Bilddatei wird dabei mit dem Wert url referenziert: Die URL wird – analog zu Angaben in HTML (src oder href) - entweder als eine externe (http://...) oder eine interne Adresse relativ zur CSS-Datei angegeben.

Beispiel

In dem folgenden Beispiel werden zwei Hintergrundbilder benutzt: Beim Body wurde das Apfelbild hinterlegt, das etwa 256 x 256 Pixel groß ist. Da die Seite breiter ist, wird das Bild zeilenweise wiederholt. Auch wenn man die Seite herunterscrollt, wird das Bild wiederholt.

Noch deutlicher sind die Wiederholungen des Bildes hinter den Bereichen h1 und h3: Hier handelt es sich um einen Kreis, der 25 x 25 Pixel groß ist. Deswegen entsteht als Hintergrundbild ein Muster bestehend aus vielen horizontal und vertikal angeordneten Kreisen.

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

Bildwiederholung: background-repeat

Die Eigenschaft background-repeat definiert, ob und wie oft das Hintergrundbild in der Box wiederholt wird. Die möglichen Werte sind:

repeat:
Das Bild wird so oft in horizontaler und vertikaler Richtung wiederholt, bis die gesamte Box gefüllt ist (Standardwert).
no-repeat:
Das Bild wird genau einmal in der Box angezeigt.
repeat-x:
Wiederholung des Bildes innerhalb der Zeile, in der das Bild referenziert wird.
repeat-y:
Wiederholung des Bildes innerhalb der Spalte, in der das Bild referenziert wird.
Beispiel

Ändern sie im folgenden Beispiel die background-repeat-Eigenschaft und beobachten Sie die Auswirkung. Verkleinern Sie ggf. die Anzeige (Faktor 0.5x), um die Auswirkung genau zu sehen.

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

Bildpositionierung: background-position

Die Eigenschaft background-position definiert, an welcher Stelle der Box das Hintergrundbild platziert wird. Die möglichen Werte sind:

Vordefinierte Positionen:
  • horizontal: left, center, right
  • vertikal: top, center, bottom
Maßeinheiten
Angabe mit Maßeinheiten für die Entfernung des Bildes von der linken oberen Ecke der Box (absolute Angabe) .
Prozentzahlen
Angabe mit Prozentzahlen (Angabe für die Entfernung des Bildes von der linken oberen Ecke der Box):
  • Horizontal: relativ zur Breite der Box
  • Vertikal: relativ zur Höhe der Box
Beispiel

Ändern sie im folgenden Beispiel die beiden Werte der background-position-Eigenschaft und beobachten Sie ihre Auswirkung.

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

Bildgröße: background-size

Die Eigenschaft background-size definiert die Größe des Hintergrundbildes. Die möglichen Werte sind:

Maßeinheiten:
Angabe mit Maßeinheiten für die Breite und Höhe des Bildes (zwei Werte). Wird nur der erste Wert angegeben, hat die Höhe automatisch den Wert auto.
Prozentzahlen
Angabe der Prozentzahlen für die Breite und Höhe des Bildes (zwei Werte). Wird nur der erste Wert angegeben, hat die Höhe automatisch den Wert auto.
cover
Das Bild wird so vergrößert oder abgeschnitten, dass es den gesamten Bereich füllt. Dabei wird das Bild so skaliert, dass es genau so breit / hoch ist wie die längere Boxenseite. Es an der kürzeren Boxenseite ggf. abgeschnitten, damit das Bild die Box komplett ausfüllt.
contain
Das Bild wird so skaliert, dass es den gesamten Bereich füllt. Dabei wird das Bild so skaliert, dass es genau so breit / hoch ist wie die kürzere Boxenseite Das ursprüngliche Seitenverhältnis des Bildes bleibt unverändert. Hat die Box ein anderes Seitenverhältnis als das Bild, wird sie nicht komplett ausgefüllt.
Beispiel

Öffnen sie das folgende Beispiel am besten in einem separaten Fenster (Edit on Codepen). In den hinterlegten Beispielen können Sie den Unterschied zwischen den beiden Größenangaben cover und contain erkennen.

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

Besonderheiten der Eigenschaft: background

Mit der Eigenschaft background kann die Hintergrundspezifikation auch abgekürzt werden. Die folgenden CSS-Angaben haben eine identische Auswirkung:

body { background-color: white;
	background-image: url(apfel.jpg);
	background-repeat: no-repeat;
	background-position: center center;
}
body {background: white url(apfel.jpg) no-repeat center center}

Die Eigenschaften background-image bzw. background gehören zu den CSS-Eigenschaften, die KEINE Konflikte auslösen, wenn sie für ein Element mehrmals definiert werden. Stattdessen werden mehrere Hintergrundbilder geladen.

Zu beachten ist dabei, dass Bilder, welche weiter im Vordergrund stehen sollen, als erste in der Aufzählung vorkommen müssen.

Beispiel

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

Unterschied zwischen dem img-Element und einem Hintergrundbild

img-Elemente sollten benutzt werden, wenn das Bild eine inhaltliche Bedeutung hat und nicht nur dem Design der Webseite dient. Ein img-Elemente sollte auch benutzt werden, wenn das Bild über Suchmaschinen gefunden werden soll (inkl. der Information im alt- und title-Attribut).

Ein Hintergrundbild (CSS-Eigenschaft background-image sollte benutzt werden, wenn das Bild keine inhaltliche Bedeutung hat und ausschließlich Design-Zwecken dient. Hintergrundbilder werden ebenfalls benutzt, wenn das Bild an mehreren Stellen referenziert werden soll (z.B.. Icons, Profil-Bilder, …). Auch wenn vom Bild nur ein Ausschnitt angezeigt werden soll, der die komplette Box ausfüllt (background-size: cover), sind Hintergrundbilder geeignet. Ebenfalls geeignet sind Anwendungsfälle, bei denen das Bild komplett angezeigt werden aber nicht unbedingt die gesamte Box ausfüllen (background-size: contain) soll.

Aufgaben zum Thema Hintergrundbilder
Vertiefende Aufgaben zum Thema Hintergrundbilder