CSS页眉 - 如何使用打印边距?

时间:2010-12-03 17:07:25

标签: css printing margins

我可以在每个页面上打印标题,但我是新手来打印边距。我认为@page css会起作用,但它似乎不会影响页边距。如果我在主体上设置边距,它适用于第一页,但后续页面在默认情况下开始上边距,将标题放在文本顶部。

<style>  
.header {  
 position: fixed;  
 top: 0;  
}  
@page {  
 size: 11in 17in;  
 margin-left: 1in;  
 margin-right: 1in;  
 margin-top: 1in;  
 margin-bottom: 1in;  
} 
</style>

<body>  
<span class=header>This is the header</span>  
This is the text of the document. (repeat until I get to page 2)  
</body>

2 个答案:

答案 0 :(得分:9)

所有浏览器的打印支持都得到了很好的支持,许多流行的浏览器中存在可怕的错误,这些错误已经多年没有修复。

简短的回答是,如果您需要确保特定的布局,请避免HTML / CSS打印。使用PDF,可能是按需动态生成的。有各种PDF生成器API,如iTextSharp。可以从Flash打印,但只有在Flash安装并正常工作时(即没有Flashblock,iOS)。

HTML / CSS打印应限于简单的布局。表格打印是fieldset&amp;的噩梦。 legend支持特别有问题(特别是在Firefox上)。有趣的是,打印支持最适合互联网浏览器。

CSS3打印支持规范尚未完成,并且暂停一段时间。

一般原则:

  • 不支持任何背景或后台CSS图像(默认情况下 - 用户可以更改其Intranet应用程序的浏览器设置)。只打印前景图像。

  • 当页面大小因行星而异时,宽度需要流畅。 US Letter格式比A4布局更短更宽

  • 所有浏览器都支持以不同方式打印。虫子很多。

  • 使用打印预览进行测试。

答案 1 :(得分:1)

现在已有4年半的接受答案说:

&#34;简短的回答是,如果您需要确保特定的布局,请避免HTML / CSS打印。&#34;

现在,您可以在浏览器中为相对简单的布局进行HTML / CSS打印,或者如果您使用wkhtmltopdf之类的工具,则可以选择更复杂的布局。另请参阅http://www.toccon.com/toc2013/public/schedule/detail/26714