首页 >web前端 >css教程 >如何防止 CSS 列表元素内出现分栏?

如何防止 CSS 列表元素内出现分栏?

Linda Hamilton
Linda Hamilton原创
2025-01-05 21:24:44682浏览

How Can I Prevent Column Breaks Within a List Element in CSS?

防止元素内的列中断

目标是防止内容在元素内跨多个列中断,确保所需的渲染。考虑下面的示例:

HTML:

<div>

CSS:

.x {
    -moz-column-count: 3;
    column-count: 3;
    width: 30em;
}

Firefox 中的渲染:

• Number one    • Number three          bit longer
• Number two    • Number four is a    • Number five

目标是实现防止内容中断的渲染,从而产生更具凝聚力的效果显示:

• Number one    • Number four is a
• Number two      bit longer
• Number three  • Number five

• Number one    • Number three        • Number five
• Number two    • Number four is a
                  bit longer

解决方案在于利用break-inside CSS属性:

.x li {
    break-inside: avoid-column;
}

所有主流浏览器都支持该属性除了火狐浏览器。在 Firefox 中,可以采用使用表格的解决方法,但这不是理想的解决方案。

更新

Firefox 20 现在支持内部分页:避免以防止列中断,但以下代码表明它仍然不能有效地使用列表:

CSS:

.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;
}

HTML:

<div>

以上是如何防止 CSS 列表元素内出现分栏?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn