我正在制作一个HTML报告,将是可打印的,它有“部分”,应该在一个新的页面开始。
有没有办法在HTML/CSS中放入一些东西,将向浏览器发出信号,它需要在此时强制换页(开始一个新页面)?
我不需要它在每个浏览器中都能运行,我想我可以告诉人们使用特定的浏览器来打印它。
我正在制作一个HTML报告,将是可打印的,它有“部分”,应该在一个新的页面开始。
有没有办法在HTML/CSS中放入一些东西,将向浏览器发出信号,它需要在此时强制换页(开始一个新页面)?
我不需要它在每个浏览器中都能运行,我想我可以告诉人们使用特定的浏览器来打印它。
当前回答
添加一个CSS类“pagebreak”(或“pb”),如下所示:
@media print {
.pagebreak { page-break-before: always; } /* page-break-after works, as well */
}
然后在需要分页符的位置添加一个空DIV标记(或生成方框的任何块元素)。
<div class="pagebreak"> </div>
它不会显示在页面上,但在打印时将页面分开。
附注:也许这只适用于使用-after时(也适用于你可能对页面上的其他<div>做什么),但我发现我必须增加CSS类如下:
@media print {
.pagebreak {
clear: both;
page-break-after: always;
}
}
其他回答
添加一个CSS类“pagebreak”(或“pb”),如下所示:
@media print {
.pagebreak { page-break-before: always; } /* page-break-after works, as well */
}
然后在需要分页符的位置添加一个空DIV标记(或生成方框的任何块元素)。
<div class="pagebreak"> </div>
它不会显示在页面上,但在打印时将页面分开。
附注:也许这只适用于使用-after时(也适用于你可能对页面上的其他<div>做什么),但我发现我必须增加CSS类如下:
@media print {
.pagebreak {
clear: both;
page-break-after: always;
}
}
您可以使用CSS属性page-break-before(或page-break-after)。只需要设置page-break-before:总是在那些块级别的元素(例如,标题,div, p,或表元素)上,这些元素应该以新行开始。
例如,要在任何第2级标题之前和类newpage中的任何元素之前引起换行(例如,<div class=newpage>…),您可以使用
h2, .newpage { page-break-before: always }
当我们在浏览器上使用打印命令时,我需要在每第三行之后分页。
我添加了
<div style='page-break-before: always;'></div>
在每第三行之后,我的父div有display: flex; 所以我删除了display: flex;而且一切都如我所愿
下面的代码为我工作,还有一些更多的例子在这里
<div style="page-break-inside:avoid;page-break-after:always">
</div>
CSS
@media print {
.pagebreak {
page-break-before: always;
}
}
HTML
<div class="pagebreak"></div>