Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Mencegah Pemecahan Lajur Dalam Item Senarai dalam Reka Letak Berbilang Lajur?

Bagaimana untuk Mencegah Pemecahan Lajur Dalam Item Senarai dalam Reka Letak Berbilang Lajur?

Linda Hamilton
Linda Hamiltonasal
2024-12-16 22:23:15519semak imbas

How to Prevent Column Breaks Inside List Items in Multi-Column Layouts?

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!

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