我正在将HTML文档呈现为PDF。以前我使用Wkhtmltopdf,但看起来Dompdf提供了对分页符的更好支持,所以我希望我会切换到那个。
我想对我的文档应用一些孤儿控件,所以我需要对orphans
实际做什么有充分的理解。从W3C(source):
orphans属性指定块容器中必须留在页面底部的最小行数。
网络上一贯提供的示例是:
p { orphans: 3; }
这意味着如果三行段落文本没有空格,则会强制中断到下一页。我正在渲染一个包含大量无序列表的文档,所以对我来说就是:
li { orphans: 2; }
但是,我还希望打破无序列表,以便子弹项目块不会孤立或丧偶。能够这样做会很高兴:
ul { orphans: 2; }
理想情况下,确保项目块不会出现在分页符的上方或下方。但是浏览器/渲染器对此的支持是不完整的,上面的W3C使用“line”而不是“block”。因此,我想以上只会影响列表项中的段落行控制,并且不会影响整个列表项块。如果是这种情况,有没有CSS方法来做到这一点?
答案 0 :(得分:1)
正如li WeasyPrint issue tracker所述:
孤儿/寡妇仅适用于线盒,不适用于类似盒子的盒子。
幸运的是,您可以定义以下规则:
li:last-child { break-before: avoid; } li:first-child { break-after: avoid; }