CSS中用于打印的页面边距设置

24

在询问之前我已经进行了很多搜索,但没有找到我的问题的答案。

我想在打印网站页面时插入顶部和底部边距,因此我为打印的div使用了普通的margin-topmargin-bottom,但它只影响了第一页!所以我按照W3C CSS2.1规范中的解释使用了以下内容:

@page {
    margin-top: 5cm;
    margin-bottom: 5cm;
}
但在Firefox的打印预览或打印PDF中没有任何效果。那么我该如何通过CSS插入每个打印页面的上下边距?或者有没有什么诀窍可以在Firefox中实现这个效果?

1
类似于CSS页面标题-如何使用打印边距?,此功能支持不太好。 - Josh Lee
我之前看过这个,所以我想问:有没有什么诀窍可以在Firefox中完成这个操作? - Anass Ahmed
现在在Firefox 35中运行正常。 - z--
2个回答

28

 @page {
    margin-top: 5cm;
    margin-bottom: 5cm;
 }

@media print {
     body {margin-top: 50mm; margin-bottom: 50mm; 
           margin-left: 0mm; margin-right: 0mm}
}

在 Firefox 35 中运行良好


6
如果你打印多页,第二个例子不会在每一页上添加边距。第一个是正确的解决方案。 - Marko Knöbl
第一个在Safari上不起作用。 - Caveman

3

这应该可以在Firefox中正常工作。

 @media print {
     #main{margin:100px 0;}
 }

"@media print" 会确保该样式仅在打印时使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接