Mencegah Pecah Lajur Dalam Elemen
Apabila menggunakan reka letak berbilang lajur, adalah perkara biasa untuk menghadapi masalah dengan elemen pemisahan pecahan lajur secara tidak diingini. Ini boleh berlaku apabila elemen, seperti item senarai, terlalu panjang untuk dimuatkan dalam satu lajur.
Pernyataan Masalah
Pertimbangkan HTML dan CSS berikut:
<div class='x'> <ul> <li>Number one</li> <li>Number two</li> <li>Number three</li> <li>Number four is a bit longer</li> <li>Number five</li> </ul> </div>
.x { -moz-column-count: 3; column-count: 3; width: 30em; }
Dalam senario ini, beberapa item senarai mungkin dibahagikan antara lajur, seperti yang dilihat dalam yang berikut pemaparan:
• Number one • Number three bit longer • Number two • Number four is a • Number five
Matlamatnya adalah untuk mengelakkan perpecahan ini dan mencapai pemaparan yang lebih diingini, seperti:
• Number one • Number four is a • Number two bit longer • Number three • Number five
Penyelesaian: Harta pecah masuk
Penyelesaian kepada isu ini terletak pada penggunaan sifat pecah dalam CSS. Dengan menetapkan break-inside: avoid-column pada elemen yang anda ingin halang daripada pecah, anda boleh mengarahkan penyemak imbas untuk menyimpan elemen dalam satu lajur.
.x li { break-inside: avoid-column; }
Pendekatan ini disokong secara meluas oleh penyemak imbas utama , termasuk Chrome dan Safari. Walau bagaimanapun, sehingga Oktober 2021, Firefox masih kekurangan sokongan untuk sifat pecah masuk.
Penyelesaian Firefox
Untuk Firefox, penyelesaian wujud melibatkan penggunaan jadual . Walau bagaimanapun, penyelesaian ini amat tidak digalakkan kerana implikasi negatifnya.
Sokongan Pecah Halaman dalam Firefox 20
Menurut laporan pepijat Firefox (Pepijat 549114) , Firefox 20 dan versi yang lebih baru kini menyokong penggunaan page-break-inside: elakkan untuk mengelakkan pemecahan lajur dalam elemen. Walau bagaimanapun, seperti yang ditunjukkan oleh coretan kod berikut, kaedah ini belum lagi menangani isu untuk senarai sepenuhnya:
.x { column-count: 3; width: 30em; } .x ul { margin: 0; } .x li { -webkit-column-break-inside: avoid; -moz-column-break-inside:avoid; -moz-page-break-inside:avoid; page-break-inside: avoid; break-inside: avoid-column; }
<div class='x'> <ul> <li>Number one, one, one, one, one</li> <li>Number two, two, two, two, two, two, two, two, two, two, two, two</li> <li>Number three</li> </ul> </div>
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Pemecahan Lajur Dalam Item Senarai dalam Reka Letak Berbilang Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!