0

想要在打印文档的每一页上添加页眉。

使用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>如果内容超过一页,则重叠

4

1 回答 1

0

它与 PHP 无关,而与 CSS 无关。PHP 不能操纵网站设计,它只是输出内容。

您可能正在寻找这个:在打印模式下重复表格标题

于 2016-12-31T07:13:46.977 回答