background-size

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-size ist eine der nützlichsten – und komplexesten – Hintergrund-Eigenschaften. Es gibt viele Variationen und verschiedene Syntaxen, die Sie für diese Eigenschaft verwenden können, die alle unterschiedliche Anwendungsfälle haben. Hier ist ein grundlegendes Beispiel

html {
  background: url(greatimage.jpg);
  background-size: 300px 100px;
}

Das ist ein Beispiel für die Zwei-Wert-Syntax für background-size. Es gibt vier verschiedene Syntaxen, die Sie mit dieser Eigenschaft verwenden können: die Schlüsselwort-Syntax, die Ein-Wert-Syntax, die Zwei-Wert-Syntax und die Mehrfachhintergrund-Syntax.

Schlüsselwörter

Zusätzlich zum Standardwert (auto) gibt es zwei Schlüsselwörter, die Sie mit background-size verwenden können: cover und contain

Der Unterschied

cover weist den Browser an, sicherzustellen, dass das Bild den gesamten Container *immer* bedeckt, auch wenn es das Bild strecken oder eine Kante abschneiden muss. contain hingegen sagt aus, dass das gesamte Bild *immer* angezeigt werden soll, auch wenn dadurch etwas Platz an den Seiten oder unten übrig bleibt.

Das Standard-Schlüsselwort – auto – weist den Browser an, die Größe automatisch anhand der tatsächlichen Bildgröße und des Seitenverhältnisses zu berechnen.

Ein Wert

Wenn Sie nur einen Wert angeben (z. B. background-size: 400px), zählt dieser für die Breite, und die Höhe wird auf auto gesetzt. Sie können jede CSS-Größeneinheit verwenden, die Sie möchten, einschließlich Pixel, Prozent, em, Viewport-Einheiten usw.

Zwei Werte

Wenn Sie zwei Werte angeben, setzt der erste die Breite des Hintergrundbilds und der zweite die Höhe. Ähnlich wie bei der Ein-Wert-Syntax können Sie beliebige Maßeinheiten verwenden, die Sie möchten.

Mehrere Bilder

Sie können auch die oben genannten Methoden kombinieren und auf mehrere Bilder anwenden, indem Sie einfach Kommas zwischen den einzelnen Syntaxen hinzufügen. Beispiel

html {
  background: url(greatimage.jpg), url(wonderfulimage.jpg);
  background-size: 300px 100px, cover;
  /* first image is 300x100, second image covers the whole area */
}

Behalten Sie die Stapelreihenfolge von Hintergrundbildern im Auge, wenn Sie mehrere Bilder verwenden.

Demo

Diese Demo zeigt Beispiele für cover, contain und mehrere Hintergrundbilder mit einer Mischung aus Pixel- und Schlüsselwortwerten.

Browser-Unterstützung

IEEdgeChromeFirefoxSafariOpera
9+AlleAlle3.6+AlleAlle
iOS SafariChrome AndroidFirefox AndroidAndroid BrowserOpera Mobile
AlleAlleAlle90+Alle
Quelle: caniuse

Weitere Informationen