问题:
在网页设计中,当内容使用以下格式进行格式化时CSS 列,内容可能会在列之间换行,从而导致视觉上不良的效果。例如,列表可以分解为多个列,从而破坏其连续性。
解决方案:
为了防止这种不良的中断,可以使用break-inside CSS 属性。通过将其设置为避免列,浏览器将被指示尽可能将内容保留在同一列中。
示例:
为了防止多列表中的列表项内换行列布局:
.list-container { column-count: 3; } .list-container li { break-inside: avoid-column; }
浏览器支持:
不幸的是,截至 2021 年 10 月,Firefox 并不完全支持break-inside:void-column。但是,除 Firefox 之外的所有主要浏览器都支持此属性。
Firefox 的解决方法:
对于 Firefox,可以使用一种解决方法来防止列表项中出现分栏:将表格中的内容。
<div class="container"> <table> <tbody> <tr> <th>Number</th> <th>Description</th> </tr> <tr> <td>1</td> <td>Number one, one, one, one, one</td> </tr> <tr> <td>2</td> <td>Number two, two, two, two, two, two, two, two, two, two, two, two</td> </tr> <tr> <td>3</td> <td>Number three</td> </tr> </tbody> </table> </div>
.container { column-count: 3; }
注意:此解决方法并不理想,因为它可能会引入额外的标记和样式复杂性。
更新:
Firefox 20 的最新更新引入了对 page-break-inside: 避免的支持,但这尚未完全解决防止列表内分栏的问题。建议继续监控网络浏览器的开发。
以上是如何防止内容跨 CSS 列中断?的详细内容。更多信息请关注PHP中文网其他相关文章!