Bagaimana untuk Skala Imej untuk Mengisi Kotak Sempadan Sambil Mengekalkan Nisbah Aspek dalam CSS?

Barbara Streisand
Lepaskan: 2024-10-27 04:26:29
asal
907 orang telah melayarinya

How to Scale an Image to Fill a Bounding Box While Preserving Aspect Ratio in CSS?

Menskalakan Imej untuk Mengisi Kotak Sempadan Memelihara Nisbah Aspek

Menskalakan imej agar dimuatkan dalam kotak sempadan sambil mengekalkan nisbah aspek boleh menimbulkan cabaran dalam CSS.

Pertimbangkan kes penggunaan berikut:

  • Kes Penggunaan 1: Imej lebih besar daripada bekas.
  • Gunakan Kes 2: Imej lebih kecil daripada bekas (kecilkan).
  • Gunakan Kes 3: Imej lebih kecil daripada bekas (besarkan).

Sifat CSS standard lebar maks dan ketinggian maks hanya berfungsi apabila imej lebih besar daripada bekas (Gunakan Kes 1 dan 2).

Nasib baik, CSS3 menawarkan penyelesaian untuk Kes Penggunaan 3. Dengan menetapkan imej sebagai imej latar belakang dan menggunakan sifat bersaiz latar belakang dengan nilai kandungan, imej boleh ditingkatkan untuk mengisi bekas tanpa memesongkan nisbah bidangnya.

HTML:

<div class='bounding-box'>
</div>
Salin selepas log masuk

CSS:

.bounding-box {
  background-image: url(...);
  background-repeat: no-repeat;
  background-size: contain;
}
Salin selepas log masuk

Untuk memusatkan imej dalam bekas:

.bounding-box {
  background-image: url(...);
  background-size: contain;
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}
Salin selepas log masuk

Penyelesaian ini serasi dengan kebanyakan penyemak imbas moden.

Atas ialah kandungan terperinci Bagaimana untuk Skala Imej untuk Mengisi Kotak Sempadan Sambil Mengekalkan Nisbah Aspek dalam CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan