{page-break-after:always}在打印时无法正常工作

时间:2013-06-07 17:32:34

标签: html css page-break

编辑:我刚注意到这在IE9中有效,但不适用于IE10和Chrome。

我们以电子方式从我们的供应商处收到HTML格式的PO报告。我们通常打印这些,然后每页放1个PO,但现在它不添加分页符。我检查了HTML,我不明白为什么它不会突然工作。这是(格式不正确的)html:

<HEAD>
<STYLE TYPE='text/css'><!--
BR.breakhere {page-break-after: always}
.tb1{font:10pt Arial;}
.tb2{border-left:1px solid #000000; border-right:1px solid #000000;border-top: 1px  solid #000000;border-bottom: 1px solid #000000;}
.tb3{font:10pt Arial;border-left:1px solid #000000; border-right:1px solid #000000;border-top: 1px  solid #000000;border-bottom: 1px solid #000000;}
.tb4{font-size:8pt;}
--></STYLE>
</HEAD>

假设分页符发生在这里:

<BR class=breakhere>

它在TABLE元素之后立即发生,TABLE在最后一个TR(ugh)之后具有HR。

<BR><HR style = "width:100%;height:10px;color:#000000"></TABLE><BR class=breakhere>

我想联系他们并提及此问题,但我不确定这是代码还是我们的结果?我已经尝试过每个浏览器,多个打印机和工作站,但无法让它破坏页面。

谢谢!

2 个答案:

答案 0 :(得分:15)

对于自己的Internet Explorer,

分页符是不够的。如果你试试这个,你可以看到结果。我有同样的问题,但我通过这种方式解决了。

&#13;
&#13;
<div style="page-break-after: always;"></div>
<div>&nbsp;
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:8)

我也一直在处理这个问题。似乎在断行中使用page-break-after属性在IE10中是禁止的。根据Internet Explorer当前支持CSS 2.1第13.3.1节的文档,page-break-after属性不支持换行符或标题元素。请参阅此链接中的评论:http://msdn.microsoft.com/en-us/library/ie/ms530842。我不得不切换我的代码,以便在课后使用div,但这似乎不适用于IE9,这很棒。