object-fit & object-position

Zuletzt aktualisiert am 15. Februar 2026

object-fit bestimmt, wie ein Bild oder Video in seinen Container eingepasst wird: ob es gestreckt, beschnitten oder vollständig angezeigt wird. Zusammen mit object-position kontrollierst du, welcher Ausschnitt sichtbar ist. Denk an background-size und background-position, nur für <img> und <video> Elemente.

Syntax
object-fit: fill | contain | cover | none | scale-down
Initialwert
fill
Vererbt
Nein
Animierbar
Nein

Grundlagen

object-fit wirkt ausschließlich auf Replaced Elements, das sind <img>, <video>, <canvas> und <object>. Auf <div> oder andere Elemente hat es keinen Effekt. Die Property steuert, wie das Medium in die Box des Elements passt, wenn das Seitenverhältnis von Bild und Container unterschiedlich ist.

cover ist der häufigste Wert: Das Bild füllt den gesamten Container aus und wird bei Bedarf beschnitten, wobei das Seitenverhältnis erhalten bleibt. contain zeigt das gesamte Bild, aber es können Leerräume entstehen. fill (Standard) streckt das Bild, um den Container vollständig zu füllen, das Seitenverhältnis wird dabei verzerrt.

object-position funktioniert wie background-position: damit verschiebst du den sichtbaren Ausschnitt. Besonders nützlich bei cover, um z.B. Gesichter im Bild sichtbar zu halten statt sie abzuschneiden.

Syntax & Werte

object-fit

Wert Beschreibung Beispiel
fill Bild wird gestreckt, um den Container zu füllen. Seitenverhältnis wird verzerrt. (Standard) object-fit: fill;
contain Bild wird vollständig angezeigt, mit Leerräumen wenn nötig. Seitenverhältnis bleibt erhalten. object-fit: contain;
cover Bild füllt den Container komplett aus und wird bei Bedarf beschnitten. Seitenverhältnis bleibt erhalten. object-fit: cover;
none Bild wird in Originalgröße angezeigt, ohne Skalierung. Kann überlappen oder beschnitten werden. object-fit: none;
scale-down Wie contain, aber skaliert nie hoch. Wählt den kleineren Wert von none und contain. object-fit: scale-down;

object-position

Wert Beschreibung Beispiel
center Zentriert den Ausschnitt horizontal und vertikal. (Standard: 50% 50%) object-position: center;
Schlüsselwörter Kombinationen aus top, right, bottom, left, center. object-position: top right;
Prozent Position in Prozent relativ zum Container. object-position: 25% 75%;
Pixel / Längen Exakte Position in Pixeln oder anderen Längeneinheiten. object-position: 10px 20px;

Beispiele

object-fit im Vergleich

Alle fünf Modi nebeneinander. Das Quellbild hat ein anderes Seitenverhältnis als der Container, damit die Unterschiede sichtbar werden.

object-fit im Vergleich
img { width: 200px; height: 150px; }

.fill       { object-fit: fill; }       /* Streckt */
.contain    { object-fit: contain; }    /* Zeigt komplett */
.cover      { object-fit: cover; }      /* Füllt aus */
.none       { object-fit: none; }       /* Originalgröße */
.scale-down { object-fit: scale-down; } /* Nie hochskaliert */

Avatar mit cover

Profilbilder müssen quadratisch und rund sein, egal welches Seitenverhältnis das Original hat. object-fit: cover sorgt dafür.

Runde Avatare mit cover
.avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

/* Verschiedene Größen */
.avatar-sm { width: 40px;  height: 40px; }
.avatar-md { width: 64px;  height: 64px; }
.avatar-lg { width: 96px;  height: 96px; }

object-position für Ausschnitt

Mit object-position bestimmst du, welcher Teil des Bildes bei cover sichtbar bleibt. Besonders wichtig für Porträts: Gesichter sind oben, nicht in der Mitte.

object-position: Ausschnitt verschieben
.hero-image {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

/* Gesicht oben im Bild? */
.hero-image { object-position: top; }

/* Standard: zentriert */
.hero-image { object-position: center; }

/* Wichtiges unten im Bild? */
.hero-image { object-position: bottom; }

/* Exakt positionieren */
.hero-image { object-position: 30% 20%; }

Responsive Image Grid

Bilder mit unterschiedlichen Seitenverhältnissen in einem gleichmäßigen Grid: object-fit: cover sorgt für einheitliche Höhe.

Responsive Image Grid mit einheitlicher Höhe
.image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}

.image-grid img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 0.5rem;
}

Thumbnail mit Hover-Vergrößerung

Thumbnails mit cover und beim Hover zeigt contain das vollständige Bild.

Thumbnail-Vorschau
.thumbnail {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: transform 0.3s;
}

.thumbnail:hover {
  transform: scale(1.05);
}

Barrierefreiheit

Wenn object-fit: cover wichtige Bildinhalte abschneidet, ist der alt-Text besonders wichtig. Beschreibe das vollständige Bild, nicht nur den sichtbaren Ausschnitt. Nutze object-position, um das Wichtigste im sichtbaren Bereich zu halten, bei Porträts z.B. object-position: top für Gesichter.

Für rein dekorative Bilder setze alt="", damit Screenreader sie überspringen. Bei informativen Bildern mit cover stelle sicher, dass keine kritische Information durch den Beschnitt verloren geht.

Häufige Fehler

  • object-fit auf ein <div> statt auf ein <img> oder <video> anwenden. Die Property wirkt nur auf Replaced Elements. Für <div>-Hintergründe nutze background-size.
  • Keine expliziten Dimensionen setzen. object-fit braucht eine definierte Breite und Höhe, um etwas zu tun. Ohne feste Dimensionen gibt es keinen Container, in den eingepasst werden soll.
  • cover verwenden, ohne zu prüfen, was abgeschnitten wird. Besonders bei Produkt-Fotos oder Porträts kann das Wichtigste im Bild unsichtbar werden. Teste verschiedene Seitenverhältnisse und nutze object-position.
  • Nicht wissen, dass fill der Standard ist. Wenn ein Bild verzerrt aussieht, wurde wahrscheinlich eine feste Höhe und Breite gesetzt, ohne object-fit zu ändern.
  • background-size: cover mit object-fit: cover verwechseln. Ersteres ist für CSS-Hintergrundbilder, letzteres für HTML-Bilder (<img>-Tags).

Browser-Kompatibilität

object-fit und object-position werden von allen modernen Browsern vollständig unterstützt.

ClientUnterstützungHinweise
ChromeKomplett
FirefoxKomplett
SafariKomplett
EdgeKomplett
OperaKomplett

Email-Kompatibilität

object-fit wird in E-Mail-Clients nur eingeschränkt unterstützt. Outlook ignoriert die Property komplett.

ClientUnterstützungHinweise
Apple MailKomplettVoller Support
GmailTeilweiseGrundlegend unterstützt, nicht alle Werte
OutlookKeineKein Support, Bilder werden gestreckt
ThunderbirdKomplettVoller Support
Yahoo MailTeilweiseGrundlegend unterstützt

Verwandte Eigenschaften

Bleib auf dem Laufenden

Erhalte neue Inhalte direkt in dein Postfach

Mit der Anmeldung akzeptierst du unsere Datenschutzerklärung. Du kannst dich jederzeit über den Link in den E-Mails wieder abmelden.

Was erwartet dich?

Neue Artikel & Videos

Wenn ich was Neues veröffentliche, erfährst du's hier zuerst.

Plattform & Kurs-Updates

Neue Kurse, Referenz-Updates und gelegentlich Sonderpreise zum Launch.

Einmal die Woche in deinem Postfach

Kurz, auf den Punkt, kein Spam.