在第一页打印网站徽标(@media print)

时间:2017-04-24 16:42:56

标签: html css css-paged-media

我需要创建网站的打印版本,正如我在标题中提到的,我需要在第一页上显示网站徽标。例如,如果我打印主页,并且我得到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 }
}

1 个答案:

答案 0 :(得分:2)

第一页的正确语法(according to MDN)是:

@page :first {
   /* .... */
}

两个组件之间没有空格。但是要小心,因为@page :first的兼容性没有明确定义。

虽然可能没有必要。我不认为每个页面都会重复块级元素,因此您可能只需要确保徽标显示在@media print { ... }中。

您还需要检查元素及其容器元素,以确保它们都没有position: fixed,因为这也可能导致元素在每个打印页面上重复。