html - 打印 html 页面时的边距

标签 html css printing

我正在使用单独的样式表进行打印。

是否可以在设置打印边距的样式表中设置左右边距? (即纸边距)

最佳答案

指定打印时应使用cmmm作为单位。使用像素会导致浏览器将其转换为类似于屏幕上显示的内容。使用 cmmm 将确保纸张大小一致。

body
{
  margin: 25mm 25mm 25mm 25mm;
}

对于字体大小,使用 pt 作为打印媒体。

请注意,在 css 样式中设置正文边距将不会调整定义打印机可打印区域的打印机驱动程序中的边距,或由浏览器控制的边距(可能在在某些浏览器上打印预览)...它只会在可打印区域内的文档上设置边距。

您还应该知道 IE7++ 会自动调整大小以最适合,即使您使用 cmmm 也会导致一切错误。要覆盖此行为,用户必须选择“打印预览”,然后将打印尺寸设置为 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/

相关文章:

jquery html/css : adding a 'close' button to my div that was added on . 点击

html - 如何将我的列移至右侧

javascript - PUBNUB:在 "PUBNUB.subscribe"上,window.print() 不起作用

javascript - 调整浏览器大小时,使用 javascript 移动放置 div 层,但不应该

javascript - 通过单击另一部分中的图像来激活页面一部分的动画

excel - 通过 VBA 设置默认打印机

java - 在 Java 中打印 Unicode 占星符号

javascript - jQuery - 选择更改事件会导致选择框在 IE10 和 FF 中立即再次关闭

c# - 样式表未正确加载或链接

html - 用于打开 URL 的 Google Apps 脚本