我正在尝试打印HTML,其中包含许多大块引用元素,每个元素跨越半个页面或更多。打印时,如果blockquote元素无法在当前页面内完成,浏览器会添加分页符。
我在几个浏览器和同样的事情上试过这个。一个人如何编写CSS来显示块引用,即使它们将在当前页面末尾的中间被剪切?
例如:
text-text text-text text-text text-text
text-text text-text text-text text-text
<blockquote>
text-text text-text text-text
text-text text-text text-text
</blockquote>
浏览器会在“blockquote”元素之前添加分页符,如果其内容无法在当前页面结尾处完成。
如何防止这种情况?
我已经摆弄了CSS属性page-break-before / inside / after但是没有帮助。
答案 0 :(得分:2)
我相信你想要这些规则中的一个或两个:
blockquote {
page-break-before: avoid;
page-break-inside: auto;
}
...或者可能前面的元素需要page-break-after: avoid
。
(这些属性显然已被更为通用的属性取代,例如break-before,但新版本目前尚未得到广泛支持。)
根据下面的评论,这里显然与display:block
有一些互动; display:inline-block
不会触发分页行为。