想要在“打印文档”中的每个页面上添加标题。
使用page-break-inside: avoid
,好像内容的某些部分将转到下一页,它应该完全转到下一页。
当内容本身占用多个页面时,会出现问题。 表结构是
<table class="super-table">
<thead class="pageheader">
<tr>
<td>
<?php echo $header; ?>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<?php echo $content[0]; ?>
</td>
</tr>
<tr>
<td>
<?php echo $content[1]; ?>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>
<?php echo $footer; ?>
</td>
</tr>
</tfoot>
</table>
CSS
@media print {
thead {
display: table-header-group; position: running(pageheader);
}
tr, td {
page-break-inside: avoid;
}
@page {
size: letter portrait;
@top-left { content: element(pageheader); }
}
.super-table {
page-break-after: always;
}
}
当内容占用超过一页时,标题会重叠。我是否可以仅在每个页面中为内容设置边距而不是标题?将margin-top添加到@page
也会向下移动标题。
IMAGE: <thead>
overlaps if content occupies more than one page
答案 0 :(得分:0)
它与PHP无关,但与CSS无关。 PHP无法通过网站设计进行操作,只是输出内容。