background-image

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Die CSS-Eigenschaft background-image wendet eine Grafik (z. B. PNG, SVG, JPG, GIF, WEBP) oder einen Farbverlauf auf den Hintergrund eines Elements an.

Es gibt zwei verschiedene Arten von Bildern, die Sie mit CSS einfügen können: reguläre Bilder und Farbverläufe.

Bilder

Die Verwendung eines Bildes als Hintergrund ist ziemlich einfach

body {
  background: url(sweettexture.jpg);
}

Der Wert url() ermöglicht es Ihnen, einen Dateipfad zu einem beliebigen Bild anzugeben, und es wird als Hintergrund für dieses Element angezeigt.

Sie können auch eine Daten-URI für url() festlegen. Das sieht so aus

body {
  /* Base64 encoded transparent gif */
  background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}

Diese Technik reduziert eine HTTP-Anfrage, was gut ist. Es gibt jedoch eine Reihe von Nachteilen. Bevor Sie also alle Ihre Bilder ersetzen, stellen Sie sicher, dass Sie alle Vor- und Nachteile von Daten-URIs berücksichtigen.

Sie können background-image auch verwenden, um Bilder zu spriten, was eine weitere nützliche Methode zur Reduzierung von HTTP-Anfragen ist.

Verläufe

Eine weitere Option bei der Verwendung von Hintergründen ist, dem Browser mitzuteilen, dass er einen Farbverlauf erstellen soll. Hier ist ein super-duper einfaches Beispiel für einen linearen Farbverlauf

body {
  background: linear-gradient(black, white);
}

Sie können auch radiale Farbverläufe verwenden

body {
  background: radial-gradient(circle, black, white);
}

Technisch gesehen sind Farbverläufe nur eine weitere Form von Hintergrundbild. Der Unterschied ist, dass der *Browser* das Bild für Sie erstellt. Hier ist ein kompletter Leitfaden zur Erstellung und Verwendung.

Das obige Beispiel verwendet nur einen Farbverlauf, aber Sie können auch mehrere Farbverläufe übereinanderlegen. Es gibt einige ziemlich erstaunliche Muster, die Sie mit dieser Technik erstellen können.

Festlegen einer Fallback-Farbe

Wenn ein Hintergrundbild nicht geladen werden kann oder Ihr Farbverlauf-Hintergrund in einem Browser angezeigt wird, der keine Farbverläufe unterstützt, sucht der Browser nach einer Hintergrundfarbe als Fallback. Sie können Ihre Fallback-Farbe wie folgt angeben

body {
  background: url(sweettexture.jpg) blue;
}

Mehrere Hintergrundbilder

Sie können mehrere Bilder oder eine Mischung aus Bildern und Farbverläufen für Ihren Hintergrund verwenden. Mehrere Hintergrundbilder werden jetzt gut unterstützt (alle modernen Browser und IE9+ für Grafiken, IE10+ für Farbverläufe).

Wenn Sie mehrere Hintergrundbilder verwenden, beachten Sie, dass es eine etwas kontraintuitive Stapelreihenfolge gibt. Listen Sie das Bild, das vorne liegen soll, zuerst auf und das Bild, das hinten liegen soll, zuletzt, wie hier

body {
  background: url(logo.png), url(background-pattern.png);
}

Wenn Sie mehrere Hintergrundbilder verwenden, müssen Sie oft mehr Werte für den Hintergrund festlegen, um alles an den richtigen Platz zu bringen. Wenn Sie die background-Kurzschreibweise verwenden möchten, können Sie die Werte für jedes Bild einzeln festlegen. Ihre Kurzschreibweise wird etwa so aussehen (beachten Sie das Komma, das das erste Bild und seine Werte von dem zweiten Bild und seinen Werten trennt)

body {
  background:
    url(logo.png) bottom center no-repeat,
    url(background-pattern.png) repeat;
}

Es gibt keine Begrenzung, wie viele Hintergrundbilder Sie festlegen können, und Sie können coole Dinge tun, wie z. B. Ihre Hintergrundbilder animieren. Es gibt ein gutes Beispiel für mehrere Hintergrundbilder mit Animation auf David Walshs Blog.

Demo

Browser-Unterstützung

IEEdgeChromeFirefoxSafariOpera
AlleAlleAlleAlleAlleAlle
iOS SafariChrome AndroidFirefox AndroidAndroid BrowserOpera Mobile
AlleAlleAlle90+62+
Quelle: caniuse

Unterstützung für Hintergrundbild-Farbverläufe

IEEdgeChromeFirefoxSafariOpera
10+AlleAlle3.6+4+11.5+
iOS SafariChrome AndroidFirefox AndroidAndroid BrowserOpera Mobile
AlleAlleAlle90+62+
Quelle: caniuse

Unterstützung für Hintergrundbild-SVGs

IEEdgeChromeFirefoxSafariOpera
9+Alle8+4+5+Alle
iOS SafariChrome AndroidFirefox AndroidAndroid BrowserOpera Mobile
5+AlleAlle90+62+
Quelle: caniuse

Weitere Informationen