Rumah > hujung hadapan web > tutorial css > Mengapakah `100vw` Kadang-kadang Menyebabkan Limpahan Mendatar Tidak Dijangka?

Mengapakah `100vw` Kadang-kadang Menyebabkan Limpahan Mendatar Tidak Dijangka?

Barbara Streisand
Lepaskan: 2024-12-07 10:08:12
asal
837 orang telah melayarinya

Why Does `100vw` Sometimes Cause Unexpected Horizontal Overflow?

100vw Menyebabkan Limpahan Mendatar Tidak Dijangka

Apabila memperuntukkan lebar 100vw kepada elemen, anda mungkin menjangkakan ia akan menduduki lebar ruang pandang penuh tanpa menyebabkan sebarang limpahan. Walau bagaimanapun, dalam keadaan tertentu, bar skrol mendatar boleh muncul walaupun menggunakan 100vw.

Pertimbangkan contoh berikut:

html, body {
  margin: 0;
  padding: 0;
}
.box {
  width: 100vw;
  height: 100vh;
}

<div class="box">Screen 1</div>
Salin selepas log masuk

Dalam senario ini, elemen .box akan mengisi skrin tanpa sebarang bar skrol. Walau bagaimanapun, jika anda menambah elemen .box kedua di bawah yang pertama:

<div class="box">Screen 1</div>
<div class="box">Screen 2</div>
Salin selepas log masuk

Anda akan melihat rupa bukan sahaja bar skrol menegak (dijangka) tetapi juga bar skrol mendatar sedikit.

Sebab untuk tingkah laku ini terletak pada cara 100vw ditafsirkan oleh pelayar. Walaupun ia bermaksud "100% daripada lebar port pandangan," ia mewakili bahagian paparan port pandangan yang kekal selepas mengambil kira sebarang ketebalan bar skrol. Dalam kes ini, kehadiran bar skrol menegak mengurangkan lebar port pandangan yang tersedia, yang boleh menyebabkan elemen .box kedua melimpah secara mendatar.

Untuk menyelesaikan isu ini, anda boleh menggunakan lebar maksimum: 100% pada .elemen kotak:

.box {
  width: 100vw;
  height: 100vh;
  max-width: 100%;
}
Salin selepas log masuk

Ini akan memastikan elemen itu tidak pernah melebihi lebar ruang pandang sebenar, dengan berkesan menghalang sebarang potensi mendatar melimpah.

Atas ialah kandungan terperinci Mengapakah `100vw` Kadang-kadang Menyebabkan Limpahan Mendatar Tidak Dijangka?. 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