CSS 移除window.print()打印中的页眉和页脚

在本文中,我们将介绍如何使用CSS从window.print()函数的打印预览中移除页眉和页脚。

阅读更多:CSS 教程

什么是window.print()函数?

window.print()函数是JavaScript中的一个内置方法,用于在浏览器中打印当前页面或显示打印预览。当我们调用window.print()时,浏览器将显示一个打印预览窗口,其中包含将被打印的页面内容和设置选项。

如何移除打印预览中的页眉和页脚?

在打印预览中的页眉和页脚通常包含有关打印页面的信息,例如页面标题、页码等。但有时候我们可能希望移除它们,以让打印输出更加纯净。以下是一种常见的方法来移除打印预览中的页眉和页脚。

@media print {
  @page {
    size: auto;
    margin: 0;
  }

  body {
    margin: 0;
    padding-top: 1rem; /* 防止内容被页眉遮挡 */
    counter-reset: pageNum; /* 重置页码计数器 */
  }

  header,
  footer {
    display: none;
  }

  h1{
    counter-increment: pageNum; /* 在每个带有h1标签的页面上增加页码 */
  }

  h1::before {
    content: "Page " counter(pageNum);
  }
}

让我们逐行解析上述代码段。

首先,我们使用@media print媒体查询,该媒体查询将只应用于打印模式。

然后,我们使用@page规则来设置打印页面的大小和边距。在这个例子中,我们将size设置为auto以使用页面的默认大小,而将margin设置为0以消除页面边距。

接下来,我们针对body元素设置了一些样式。我们将margin设置为0,以消除页面的默认边距。我们还添加了一个额外的padding-top来避免内容被页眉遮挡。

然后,我们使用display: none来隐藏header和footer元素。这将使打印预览中的页眉和页脚不可见。

接着,我们使用counter-reset属性来重置名为pageNum的页码计数器。

之后,我们使用counter-increment属性在每个带有h1标签的页面上增加页码,并使用h1::before伪元素来显示当前页码。

最后,我们添加了一个content属性来显示“Page”文本和页码。

示例

让我们通过一个简单的示例来演示如何使用上述CSS代码移除打印预览中的页眉和页脚。

<!DOCTYPE html>
<html>
<head>
  <title>打印示例</title>
  <style>
    /* 在这里插入上述CSS代码 */
  </style>
</head>
<body>
  <header>
    <h1>示例页面标题</h1>
  </header>
  <main>
    <h1>第一页</h1>
    <p>这是第一页的内容。</p>
    <h1>第二页</h1>
    <p>这是第二页的内容。</p>
  </main>
  <footer>
    <p>页脚内容</p>
  </footer>
</body>
</html>

在上述示例中,我们在

最后修改:2024 年 06 月 06 日
如果觉得我的文章对你有用,请随意赞赏