在打印网页时指定CSS中的物理大小(例如2英寸)

时间:2012-12-15 18:41:41

标签: html css printing

是否有一种可靠的方法来指定CSS中的物理尺寸,以便在打印页面时,我的元素在打印页面上具有特定的大小和位置?

我看到CSS有单位为in和cm,但是(毫不奇怪)当我执行以下操作时,Firefox和Chrome实际上都没有以2x2英寸打印盒子:

.test {
    width: 2in;
    height: 2in;
    border: solid 1px #aaa;
}

我是否过于乐观,希望有一些方法可以指定尺寸并让浏览器根据打印机的分辨率调整打印尺寸?

感谢。

2 个答案:

答案 0 :(得分:6)

理论上,通过CSS3值和单位模块级别3,条款5.2. Absolute lengthscm单位应与“打印介质和类似高分辨率设备”上的物理厘米相匹配,而在较低级别 - 分辨率设备,像素应该是锚单位,这通常意味着cm与物理单位不同。

在实践中,情况更糟。我刚测试的元素设置为15cm宽。在屏幕上(包括打印预览版),它实际上是15.8厘米,当在物理打印机上打印时,它是14.7厘米(所以它基本上更接近,但仍然远离精确)。

答案 1 :(得分:5)

尝试添加margin: 0; padding: 0以避免任何额外的间距。