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

Mat*_*son 9 html css printing

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

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

.test {
    width: 2in;
    height: 2in;
    border: solid 1px #aaa;
}
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Dmi*_*ich 6

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


Juk*_*ela 6

理论上,通过CSS3值和单元模块3级,第5.2节.绝对长度,cm单位应与"打印介质和类似的高分辨率设备"上的物理厘米相匹配,而在较低分辨率的设备上,像素应该是锚单位,这通常意味着cm与物理单位不同.

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