是否可以通过 HTML 和/或 CSS 的任意组合,在第一个 printed 页面上显示一个标题,然后在每个后续 printed 页面上显示 不同的 标题? 我知道
@media print
CSS 标签仅在打印网站时显示某些内容,但这并不能让我在多个页面上拥有不同的标题。
感谢任何帮助,谢谢!
十二年后我可以回答你的问题:)
以下是在第一个打印页面上显示与后续页面不同的标题的解决方案:
@media print {
.header, .footer {
position: fixed;
}
.header, .header-cover {
display:flex;
}
.header {
top: 100%;
}
.header, .header-space {
height: 5rem;
}
.footer, .footer-space {
height: 4rem;
}
.footer {
bottom: 0;
}
}
<body>
<!--Here the HTML of the first header (displayed on landing page)-->
<header class="header-cover">
<img class="logo-big"
src="https://picsum.photos/150/100" />
<div class="right">
Header 1
</div>
</header>
<!-- Here the HTML of the repeated header (on others pages)-->
<header class="header">
<img class="logo-big"
src="https://picsum.photos/200/100" />
<div class="right">
Repeated Header
</div>
</header>
<table>
<thead>
<tr>
<td>
<!--place holder for the fixed-position header-->
<div class="header-space"> </div>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<!--*** CONTENT GOES HERE ***-->
<h1>Title</h1>
<p class="content">A very long text....</p>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>
<!--place holder for the fixed-position footer-->
<div class="footer-space"> </div>
</td>
</tr>
</tfoot>
</table>
<!-- Repeated Footer -->
<footer class="footer">
<p>
Text footer
</p>
</footer>
<button onclick="window.print()">Test Here</button>
</body>
来自 http://css-discuss.incutio.com/wiki/Printing_Headers
如果您想要完整的、CSS 控制的打印 页眉和页脚,您需要 等到浏览器实现支持 CSS3 分页媒体候选 推荐。它明确规定 对于设施但在一个相当 不同的方式,使用边距框。
可能是因为...
...CSS 位置描述:固定,[is]即 “……就印刷媒体而言 类型,该框在每个 页,并且相对于固定 页...”[第 9.3.1 节]
...但文章说它现在不起作用。
但是,为了帮助你,后面的文章说:
在正文上设置上边距(用于 示例)仅适用于第一个 页。
我能看到如何做到这一点的唯一方法是使用不同的标题并强制
page-break
s。
那么
PAGE 1
HEADER 1 //display only on print
CONTENT....
PAGE BREAK DIV //display only on print
PAGE 2
HEADER 2 //display only on print
CONTENT....
PAGE BREAK DIV //display only on print
etc..
您的标题将获得一类
printHeaders
你的分页符 div 类似于
<div class="pageBreak"></div>
在你的 CSS 中,你会有类似的东西
.printHeaders, .pageBreak {display:none;}
@media print {
.printHeaders, .pageBreak {display:block;}
.pageBreak {page-break-before:always;}
}
要完成 @ester44 的帖子(效果很好),您可以将文件放入文件中,除了您不想在网页上看到的页眉和页脚的
@media print
disply: none
。
示例:
header.header, header.header-cover, footer.footer {
display: none;
}
@media print {
header.header, footer.footer {
position: fixed;
}
header.header, header.header-cover {
display:flex;
}
header.header {
top: 100%;
}
header.header, header.header-space {
height: 5rem;
}
footer.footer, footer.footer-space {
height: 4rem;
}
footer.footer {
bottom: 0;
}
}