我正在使用单独的样式表进行打印。
是否可以在设置打印边距的样式表中设置左右边距? (即纸边距)
最佳答案
指定打印时应使用cm
或mm
作为单位。使用像素会导致浏览器将其转换为类似于屏幕上显示的内容。使用 cm
或 mm
将确保纸张大小一致。
body
{
margin: 25mm 25mm 25mm 25mm;
}
对于字体大小,使用 pt
作为打印媒体。
请注意,在 css 样式中设置正文边距将不会调整定义打印机可打印区域的打印机驱动程序中的边距,或由浏览器控制的边距(可能在在某些浏览器上打印预览)...它只会在可打印区域内的文档上设置边距。
您还应该知道 IE7++ 会自动调整大小以最适合,即使您使用 cm
或 mm
也会导致一切错误。要覆盖此行为,用户必须选择“打印预览”,然后将打印尺寸设置为 100%
(默认为 Shrink To Fit
)。
完全控制打印页边距的一个更好的选择是使用@page
指令设置页边距,这将影响 html body 元素之外的页边距,通常由浏览器。参见 http://www.w3.org/TR/1998/REC-CSS2-19980512/page.html .
这目前适用于除 Safari 之外的所有主要浏览器。
在 Internet Explorer 中,边距实际上是在设置中为此打印设置的这个值,如果你做预览你会得到这个默认值,但用户可以在预览中更改它。
@page
{
size: auto; /* auto is the initial value */
/* this affects the margin in the printer settings */
margin: 25mm 25mm 25mm 25mm;
}
body
{
/* this affects the margin on the content before sending to printer */
margin: 0px;
}
相关回答: Disabling browser print options (headers, footers, margins) from page?
关于html - 打印 html 页面时的边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542320/