如何使用HTML在文档的每一页上打印页眉和页脚?

是否可以在每个打印页面上打印带有自定义页眉和页脚的HTML页面?

我想在每个*打印的页面的顶部和底部添加"UNCLASSIFIED"字样,字体为红色,Arial,大小为16pt,不管内容如何。

澄清一下,如果文件被打印成5页,每页都应该有自定义的页眉和页脚。

有人知道这是否可以用HTML/CSS来实现吗?

如果你把你想成为页脚的元素设置为position:fixed和bottom:0,当页面打印时,它将在每个打印页面的底部重复该元素。 同样的道理也适用于页眉元素,只是设置top:0。

比如说。

<div class="divFooter">UNCLASSIFIED</div>

CSS。

@media screen {
  div.divFooter {
    display: none;
  }
}
@media print {
  div.divFooter {
    position: fixed;
    bottom: 0;
  }
}
评论(22)

我相信正确的答案是,HTML5和CSS3不支持在print媒体中打印页眉和页脚。

虽然你也许可以用以下方法来模拟它。

  • 表格
  • 固定位置块

它们都有一些缺陷,使它们不能成为理想的通用解决方案。

评论(4)

这是你想只打印的东西吗?你可以把它添加到你网站的每一个页面上,并使用CSS将该标签定义为只打印的媒体。

作为一个例子,这可以是一个标题的例子。

<span class="printspan">UNCLASSIFIED</span>

在你的CSS中,做这样的事情。


    .printspan
    {
        display: none;
    }


    .printspan
    {
        display: inline;
        font-family: Arial, sans-serif;
        font-size: 16 pt;
        color: red;
    }

最后,为了在每个页面上都包含页眉/页脚,你可以使用服务器端包含,或者如果你有任何用PHP或ASP生成的页面,你可以简单地将其编码到一个公共文件中。

编辑:

这个答案的目的是提供一种方法,在文件的实际印刷版本上显示一些东西,而在其他情况下不显示。然而,正如评论所建议的,它并没有解决内容溢出时在多个打印页面上有一个页脚的问题。

我把它留在这里,以防它对我有帮助。

评论(2)