从window.print()中删除页眉和页脚。

我正在使用window.print()打印页面,但我发现页眉和页脚包含了页面标题、文件路径、页码和日期。如何删除它们?

我也试过打印样式表。

#header, #nav, .noprint
{
display: none;
}

请帮助。谢谢。

在Chrome浏览器中,可以用以下方法隐藏这个自动的头/脚线

@page { margin: 0; }

由于内容将延伸到页面的极限,因此页面打印的页眉/页脚将不存在。当然,在这种情况下,你应该在正文元素中设置一些边距/填充物,这样内容就不会一直延伸到页面的边缘。由于普通打印机无法实现无边距打印,而且这可能不是你想要的,你应该使用这样的方法。

@media print {
  @page { margin: 0; }
  body { margin: 1.6cm; }
}

正如Martin在评论中指出的那样,如果页面中有一个长的元素滚动过一页(比如一个大的表格),那么边距就会被忽略,打印出来的版本看起来会很奇怪。

在这个答案的最初阶段(2013年5月),它只在Chrome浏览器上工作,现在不确定了,不需要再试了。如果你需要支持不能打印的浏览器,你可以即时创建一个PDF并打印出来(你可以创建一个嵌入JavaScript的自打印PDF),但那是一个巨大的麻烦。

评论(6)

Firefox :

  • 在`中添加moznomarginboxes`属性

示例 :

评论(2)

我相信在你的css文件中添加这段代码会解决这个问题。


    @page 
    {
        size: auto;   /* auto is the initial value */
        margin: 0mm;  /* this affects the margin in the printer settings */
    }

你可以访问这个来了解更多信息

评论(2)