首頁 >web前端 >css教學 >為什麼「object-fit」不能正確處理 Flexbox 容器內的影像?

為什麼「object-fit」不能正確處理 Flexbox 容器內的影像?

Barbara Streisand
Barbara Streisand原創
2024-12-03 09:56:09595瀏覽

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

為什麼 object-fit 在 Flexbox 中不起作用?

當嘗試將 object-fit: cover 屬性套用至 Flexbox 列中的映像時,使用者可能會遇到影像未按預期調整大小的問題。解釋在於object-fit屬性的規範。

根據CSS規範,object-fit決定替換元素內容在由其使用的高度和寬度建立的盒子內的適合度。對於圖像,被替換的元素是圖像本身,而不是其容器。因此,object-fit 屬性適用於影像本身的高度和寬度,而不是 Flex 項目的尺寸。

解決方案:

要解決此問題,請重構Flexbox 設置,使圖像本身成為 Flex 項目。這使得 object-fit 屬性能夠有效地應用於影像,從而產生所需的調整大小行為。

.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>

透過將影像設為 Flex 項目,object-fit 屬性現在可以正確地將影像適合分配的彈性容器空間,從而實現所需的封面尺寸調整行為。

以上是為什麼「object-fit」不能正確處理 Flexbox 容器內的影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn