我有一个页面,基本上显示给定日期的所有工作订单。我试图创建 HTML,以便可以使用 page-break-after: 始终创建逻辑打印分页符并继续。但是,当用户打印页面时,通常会出现重叠、同一页面上的多个工作订单等。我只是想强制执行 Firefox、Safari 和 Chrome 会听的硬分页符。
我的 HTML 看起来像这样
<div class="WOPrint">
<div class="WOHeader">
<h1>Header stuff</h1>
</div>
<!-- content -->
</div>
<div class="WOPageBreak"></div>
<div class="WOPrint">
<div class="WOHeader">
<h1>Header stuff</h1>
</div>
<!-- content -->
</div>
<div class="WOPageBreak"></div>
<!-- repeat N times -->
<div class="WOPrint">
<div class="WOHeader">
<h1>Header stuff</h1>
</div>
<!-- content -->
</div>
<div class="WOPageBreak"></div>
我的CSS基本上是这样的:
.WOPrint
{
max-width: 100%;
padding-bottom: 3em;
}
.WOHeader
{
display: block;
page-break-inside: avoid;
}
.WOPageBreak
{
height: 1px;
width: 100%;
float: left;
page-break-after: always;
display: block;
}
编辑 在一次骇人听闻的尝试中,我尝试设置 WOPrint 类的最小高度。当我将其设置为标准的美国纸张尺寸时,将其更改为 9 英寸似乎为我提供了足够的边距空间来从所有 Safari、Firefox 和 Chrome 进行打印。这当然不是我想要修复它的方式,但我也不想渲染为 PDF。
.WOPrint
{
max-width: 100%;
padding-bottom: 3em;
min-heihgt: 9in
}