我正在制作一个HTML报告,将是可打印的,它有“部分”,应该在一个新的页面开始。

有没有办法在HTML/CSS中放入一些东西,将向浏览器发出信号,它需要在此时强制换页(开始一个新页面)?

我不需要它在每个浏览器中都能运行,我想我可以告诉人们使用特定的浏览器来打印它。


当前回答

下面的代码为我工作,还有一些更多的例子在这里

  <div style="page-break-inside:avoid;page-break-after:always">
  </div>

其他回答

您可以使用CSS属性page-break-before(或page-break-after)。只需要设置page-break-before:总是在那些块级别的元素(例如,标题,div, p,或表元素)上,这些元素应该以新行开始。

例如,要在任何第2级标题之前和类newpage中的任何元素之前引起换行(例如,<div class=newpage>…),您可以使用

h2, .newpage { page-break-before: always }

我为此挣扎了一段时间,但从未奏效。

最后,解决方案是在头部放置一个样式元素。

page-break-after不能在链接的CSS文件中,它必须在HTML本身中。

试试这个链接

<style>
@media print
{
h1 {page-break-before:always}
}
</style>

当我们在浏览器上使用打印命令时,我需要在每第三行之后分页。

我添加了

<div style='page-break-before: always;'></div>

在每第三行之后,我的父div有display: flex; 所以我删除了display: flex;而且一切都如我所愿

只是想更新一下。分页结束现在是一个遗留属性。

官方页面说明

此属性已被break-after属性取代。