3

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

1 回答 1

2

第一页的正确语法(根据 MDN)是:

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

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

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

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

于 2017-04-24T17:50:16.077 回答