object-fit

Avatar of Robin Rendle
Robin Rendle am

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

Die object-fit-Eigenschaft definiert, wie ein Element auf die Höhe und Breite seiner Contentbox reagiert. Sie ist für Bilder, Videos und andere einbettbare Medienformate in Verbindung mit der object-position-Eigenschaft vorgesehen. Allein verwendet, lässt uns object-fit ein Inline-Bild zuschneiden, indem es uns eine präzise Kontrolle darüber gibt, wie es sich in seine Box einfügt und streckt.

object-fit kann mit einem der folgenden fünf Werte gesetzt werden

  • fill: Dies ist der Standardwert, der das Bild unabhängig vom Seitenverhältnis so streckt, dass es in die Contentbox passt.
  • contain: Vergrößert oder verkleinert das Bild, um die Box zu füllen, während das Seitenverhältnis beibehalten wird.
  • cover: Das Bild füllt die Höhe und Breite seiner Box aus, wobei das Seitenverhältnis wieder beibehalten wird, aber das Bild oft dabei zugeschnitten wird.
  • none: Das Bild ignoriert Höhe und Breite des übergeordneten Elements und behält seine ursprüngliche Größe bei.
  • scale-down: Das Bild vergleicht die Unterschiede zwischen none und contain, um die kleinste tatsächliche Objektgröße zu ermitteln.

So könnten wir diese Eigenschaft setzen

img {
  height: 120px;
}

.cover {
  width: 260px;
  object-fit: cover;
}
object-fit example

Da das zweite Bild ein anderes Seitenverhältnis als das Originalbild auf der linken Seite hat, wird es über den Bereich seiner Contentbox hinaus gestreckt und die oberen und unteren Teile des Bildes werden abgeschnitten.

Es ist erwähnenswert, dass das Bild standardmäßig in seiner Contentbox zentriert ist, dies kann aber mit der object-position-Eigenschaft geändert werden.

Demo

Die untenstehende Demo zeigt fünf Beispiele, die detailliert erläutern, wie ein Bild in eine Contentbox passen könnte, die manchmal kleiner oder größer als seine ursprüngliche Breite ist (passen Sie die Browsergröße an, um eine bessere Vorstellung davon zu bekommen, wie dies funktionieren könnte)

Siehe den Pen object-fit von Robin Rendle (@robinrendle) auf CodePen.

Wenn der Inhalt des Bildes die Contentbox aus irgendeinem Grund nicht ausfüllt, wird der nicht gefüllte Bereich den Hintergrund des Elements anzeigen, in diesem Fall einen hellgrauen Hintergrund.

Verwandte Eigenschaften

Weitere Ressourcen

Browser-Unterstützung

Es ist erwähnenswert, dass iOS 8-9.3 und Safari 7-9.1 die object-fit-Eigenschaft, aber nicht object-position unterstützen.

Diese Daten zur Browserunterstützung stammen von Caniuse, wo Sie weitere Details finden. Eine Zahl zeigt an, dass der Browser die Funktion ab dieser Version und aufwärts unterstützt.

Desktop

ChromeFirefoxIEEdgeSafari
3236Nein7910

Mobil / Tablet

Android ChromeAndroid FirefoxAndroidiOS Safari
1271274.4.3-4.4.410.0-10.2