如何使用@media打印具有粘性页眉和/或页脚



如何仅使用HTML和CSS为@media打印制作粘性页眉和/或页脚?我尝试过使用position: absoluteposition: fixed,但都不起作用。

使用position:absoluteposition:fixed不起作用。这将在第一页或最后一页重复页眉/页脚。您需要做的是:在每页上手动设置页眉和/或页脚,隐藏具有固定高度和溢出的内容,并使用page-break-*CSS属性使浏览器在页面的开头创建一个新页面。

因此,在浏览器上,它会显示所有不带页眉和页脚的content,并且在打印时会包括。如果其中一个content不占据整张纸,它会在footer之前留下一些空白,如果它太大,它会被隐藏起来。

<body>
<div class="page">
<div class="header">...</div>
<div class="content">...</div>
<div class="footer">...</div>
</div>
<div class="page">...</div>
</body>

在CSS上:

.page .header, .page .footer {
display: none;
}
@media print {
.page {
page-break-before: always;
}
.page .content {
height: 24cm;
overflow: hidden;
}
.page .header, .page .footer {
display: block;
}
}

还要注意,在@media print上,测量应该以物理单位进行,因此应该使用cmin而不是px

相关内容

最新更新