當嘗試將 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中文網其他相關文章!