Rumah > hujung hadapan web > tutorial css > Mengapa Pelbagai Elemen Lebar 100vw Mencipta Bar Skrol Mendatar?

Mengapa Pelbagai Elemen Lebar 100vw Mencipta Bar Skrol Mendatar?

Susan Sarandon
Lepaskan: 2024-12-03 21:25:13
asal
912 orang telah melayarinya

Why Do Multiple 100vw Width Elements Create Horizontal Scrollbars?

Misteri Limpahan Mendatar 100vw

Dalam bidang pembangunan web, unit 100vw biasanya digunakan untuk menetapkan lebar elemen untuk menduduki lebar viewport penuh. Walau bagaimanapun, isu pelik timbul apabila berbilang elemen dengan lebar 100vw diletakkan secara berturut-turut. Daripada mengisi skrin seperti yang dijangkakan, bar skrol menegak muncul bersama dengan skrol mendatar yang tidak dapat dijelaskan.

Untuk memahami fenomena ini, mari kita mendalami kod CSS:

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

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

Dengan satu elemen, div mengisi keseluruhan lebar skrin tanpa sebarang tatal. Walau bagaimanapun, penambahan div lain dengan kelas yang sama menghasilkan isu penatalan yang disebutkan di atas:

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

Penyebab di sebalik tingkah laku ini terletak pada sifat 100vw. Walaupun ia mewakili 100% lebar viewport, ia adalah unit bendalir yang turun naik dengan perubahan dalam saiz viewport. Contohnya, jika pengguna mengubah saiz tetingkap penyemak imbas dengan lebih sempit, div akan mengecut dengan sewajarnya, mengekalkan lebar 100vw mereka.

Dengan berbilang div menggunakan 100vw, apabila tetingkap cukup lebar, terdapat ruang yang cukup untuk mereka muat sisi -sebelah. Walau bagaimanapun, apabila tetingkap mengecut di bawah lebar tertentu, div tidak boleh mengecut lagi. Sebaliknya, ia mula bertindih, mewujudkan limpahan mendatar.

Bar skrol menegak muncul akibat daripada pertindihan itu. Penyemak imbas memperkenalkan bar skrol untuk membolehkan pengguna menatal secara mendatar dan mengakses kandungan yang tersembunyi di bawah div bertindih.

Untuk membetulkan isu ini, seseorang boleh menggunakan sifat lebar maksimum pada div, mengehadkan lebar maksimumnya kepada 100 %:

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

Dengan berbuat demikian, div masih akan menduduki lebar penuh viewport sebagai asalkan ada ruang yang mencukupi. Walau bagaimanapun, apabila tetingkap mengecil dan div tidak boleh muat bersebelahan, ia akan mengecut dan bertindan secara menegak, menghapuskan kedua-dua limpahan mendatar dan keperluan untuk menatal mendatar.

Atas ialah kandungan terperinci Mengapa Pelbagai Elemen Lebar 100vw Mencipta Bar Skrol Mendatar?. 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