我需要创建网站的打印版本,正如我在标题中提到的,我需要在第一页上显示网站徽标。例如,如果我打印主页,并且我得到5页,则应该在第一页上显示徽标。
是否可以使用@media print?
到目前为止我尝试了什么但不起作用
@media print {
#top-menu,
#main-navigation-sticky-wrapper,
#action-bar,
.teaser-cda,
.pre-footer,
.footer,
.post-footer,
.header .logo {
display: none;
}
@page:first {
.header .logo { display:block }
}
答案 0 :(得分:2)
第一页的正确语法(according to MDN)是:
@page :first {
/* .... */
}
两个组件之间没有空格。但是要小心,因为@page :first
的兼容性没有明确定义。
虽然可能没有必要。我不认为每个页面都会重复块级元素,因此您可能只需要确保徽标显示在@media print { ... }
中。
您还需要检查元素及其容器元素,以确保它们都没有position: fixed
,因为这也可能导致元素在每个打印页面上重复。