2

我正在尝试打印带有许多大块引用元素的 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”元素的内容在当前页面末尾没有完成,浏览器将在“blockquote”元素之前添加一个分页符。

如何防止这种情况发生?

我已经摆弄了 CSS 属性 page-break-before/inside/after 但这没有帮助。

4

1 回答 1

2

我相信你想要这些规则中的一个或两个:

blockquote {
  page-break-before: avoid;
  page-break-inside: auto;
}

...或者可能前面的元素需要page-break-after: avoid.

(这些属性显然正在被更通用的属性所取代,例如break-before,尽管新版本目前尚未得到广泛支持。)

根据下面的评论,这里显然有一些互动display:blockdisplay:inline-block不会触发分页行为。

于 2017-06-06T21:22:23.703 回答