一尘不染

打印html页面时的边距

css

我正在使用单独的样式表进行打印。是否可以在设置打印页边距的样式表中设置左右页边距(即纸张上的页边距)。

谢谢。


阅读 2397

收藏
2020-05-16

共1个答案

一尘不染

指定打印时,应使用cmmm作为单位。使用像素会导致浏览器将其转换为类似于屏幕上的外观。使用cmmm将确保纸张尺​​寸一致。

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

对于字体大小,pt用于打印介质。

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

您还应该知道IE7++会自动调整大小以使其最适合,即使使用cm或也会导致所有错误mm。要覆盖此行为,用户必须选择“打印预览”,然后将打印尺寸设置为100%(默认为Shrink To Fit)。

要完全控制打印边距,一个更好的选择是使用@page指令设置纸张边距,这将影响htmlbody元素外部的纸张边距,通常由浏览器控制。
目前,该功能适用​​于Safari以外的所有主要浏览器。在InternetExplorer中,页边距实际上是在此打印设置中设置为该值,并且如果执行“预览”,则将获得默认值,但是用户可以在预览中进行更改。

@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;  
}
2020-05-16