Want to add a header on each page in the Printed document.
Used page-break-inside: avoid
, as if some portion of the content is going to next page, it should completely go to next page.
The problem occurs when the content itself takes more than a page. The table structure is
<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;
}
}
The header overlaps when the content takes up more than a page. Can I have a margin set for content only in each page and not the header? Adding margin-top to @page
shifts down the header also.
IMAGE: <thead>
overlaps if content occupies more than one page