我有一个包含数百行的长表。要在每个页面上打印表头,我使用THEAD {display:table-header-group}来设置表的样式。它在Firefox和IE9中按预期工作。但是当我尝试强制分页时,如下面的代码所示,它在IE9中不起作用。使用IE9,表头只打印表自然断开的页面。
以下是代码段 -
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>
非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
首先使用带有结束标记的正确HTML
if ($condition) {
echo ( "</tr>" );
echo ( "<tr style='page-break-after:always;'>" );
echo ( "</tr>" );
} else {
echo ( "</tr>" );
}
如果这没有帮助,请尝试
if ($condition) {
echo ( "</tr>" );
echo ( "<tr style='page-break-after:always;'>" );
echo ( "</tr> " );
echo ( ' <tr class="class_only_visible_when_printed"> ' );
echo ( " <th>Header 1</th> " );
echo ( " <th>Header 2</th> " );
echo ( " <th>Header 3</th> " );
echo ( " </tr> " );
} else {
echo ( "</tr>" );
}