【发布时间】:2013-03-11 06:39:08
【问题描述】:
我有一张有数百行的长表。为了在每一页上打印表格标题,我使用 THEAD {display: table-header-group} 来设置表格的样式。它在 Firefox 和 IE9 中按预期工作。但是当我尝试强制分页符时,如下面的代码所示,它在 IE9 中不起作用。在 IE9 中,表格标题只打印表格自然中断的页面。
这里是代码sn-p -
CSS:
@media print {
thead { display: table-header-group; }
}
HTML/PHP:
<table>
<thead>
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
</thead>
<tbody>
<?php
foreach ($items as $item) {
echo " <tr> " ;
echo "<td>text</td>" ;
echo "<td>text</td>" ;
echo "<td>text</td>" ;
if ($condition) {
echo "</tr>" ;
echo "<tr style='page-break-after:always;'>" ;
echo "</tr>" ;
}
}
?>
</tbody>
</table>
非常感谢您对此提供的任何帮助。
谢谢。
【问题讨论】:
-
回显不需要括号,你可以去掉它们:)
-
如果有帮助,我会引用另一篇帖子
Setting float:none on all parent elements makes page-break-before:always work correctly.。根据 >stackoverflow.com/questions/4884380/… -
非常感谢!!我添加了 page-break-before 而不是 page-break-after 并在每个父元素上将 float 设置为 none,它就像一个魅力!再次感谢。