Rumah >hujung hadapan web >tutorial css >Mengapa `object-fit` tidak berfungsi dengan betul dengan Imej Di Dalam Bekas Flexbox?

Mengapa `object-fit` tidak berfungsi dengan betul dengan Imej Di Dalam Bekas Flexbox?

Barbara Streisand
Barbara Streisandasal
2024-12-03 09:56:09600semak imbas

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

Mengapa object-fit Tidak Berfungsi dalam Flexbox?

Apabila cuba menggunakan object-fit: cover property pada imej dalam lajur flexbox, pengguna mungkin menghadapi isu imej tidak mengubah saiz seperti yang diharapkan. Penjelasan terletak pada spesifikasi sifat muat objek.

Menurut spesifikasi CSS, muat objek menentukan pemasangan kandungan elemen yang diganti dalam kotak yang ditetapkan oleh ketinggian dan lebar yang digunakan. Dalam kes imej, elemen yang diganti ialah imej itu sendiri, bukan bekasnya. Oleh itu, sifat muat objek digunakan pada ketinggian dan lebar imej itu sendiri, bukannya dimensi item fleksibel.

Penyelesaian:

Untuk mengatasi isu ini, susun semula flexbox setup supaya imej itu sendiri menjadi item flex. Ini membolehkan sifat muat objek digunakan dengan berkesan pada imej, menghasilkan tingkah laku saiz semula yang diingini.

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

Dengan menjadikan imej sebagai item fleksibel, sifat muat objek kini boleh dengan betul muatkan imej dalam ruang bekas fleksibel yang diperuntukkan, menghasilkan tingkah laku saiz penutup yang diingini.

Atas ialah kandungan terperinci Mengapa `object-fit` tidak berfungsi dengan betul dengan Imej Di Dalam Bekas Flexbox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn