Heim >Web-Frontend >CSS-Tutorial >Warum funktioniert „Object-Fit' nicht richtig mit Bildern in Flexbox-Containern?

Warum funktioniert „Object-Fit' nicht richtig mit Bildern in Flexbox-Containern?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 09:56:09600Durchsuche

Why Doesn't `object-fit` Work Correctly with Images Inside Flexbox Containers?

Warum funktioniert object-fit nicht in Flexbox?

Beim Versuch, die Eigenschaft „object-fit: cover“ auf Bilder in Flexbox-Spalten anzuwenden, kann es vorkommen, dass Benutzer auf Folgendes stoßen: Problem mit Bildern, deren Größe sich nicht wie erwartet ändert. Die Erklärung liegt in den Spezifikationen der Eigenschaft „object-fit“.

Gemäß den CSS-Spezifikationen bestimmt „object-fit“ die Einpassung des ersetzten Elementinhalts in die durch seine verwendete Höhe und Breite festgelegte Box. Bei Bildern ist das ersetzte Element das Bild selbst, nicht sein Container. Daher gilt die Objektanpassungseigenschaft für die eigene Höhe und Breite des Bildes und nicht für die Abmessungen des Flex-Elements.

Lösung:

Um dieses Problem zu beheben, strukturieren Sie das neu Flexbox-Setup so, dass die Bilder selbst zu Flex-Elementen werden. Dadurch kann die Objektanpassungseigenschaft effektiv auf die Bilder angewendet werden, was zu dem gewünschten Größenänderungsverhalten führt.

.container {
  display: flex;
  flex-direction: row;
  width: 100%;
}

img {
  object-fit: cover;
  flex: 1;
  margin-right: 1rem;
  overflow: hidden;
  height: 400px;
}
<div class="container">
  <img src="http://placehold.it/1920x1080">
  <img src="http://placehold.it/1920x1080">
  <img src="http://placehold.it/1920x1080">
  <img src="http://placehold.it/1920x1080">
</div>

Indem die Bilder zu flexiblen Elementen gemacht werden, kann die Objektanpassungseigenschaft jetzt ordnungsgemäß angewendet werden Passen Sie die Bilder in den zugewiesenen Flex-Containerraum ein, was zu dem gewünschten Cover-Größenverhalten führt.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „Object-Fit' nicht richtig mit Bildern in Flexbox-Containern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn