打印html文档时遇到了一些问题.显然,浏览器不知道纸张有多宽,而且它们会做出疯狂而不准确的猜测!
该文档是响应式的,显示不同宽度的不同布局,我希望在打印时,他们会采用大约700或800像素的样式,但他们没有.不是所有的人.
试图将媒体查询从大小更改px
为物理单位(pt
或cm
),但这没有帮助.
我还确保浏览器都设置为使用相同的纸张大小,方向和边距,并且它们没有设置任何"缩放以适合页面"标记.
这是一个小提琴:http://jsfiddle.net/MrLister/Lc5kE/show
如果你稍微调整窗口大小,你会看到它显示它有多宽.然后当你点击打印预览时,就会出现错误:IE表示A4的宽度为18..19cm,Mozilla表示20..21cm,Chrome表示14..15cm.Opera是最糟糕的:它根本不看纸张,它只需要屏幕上的窗口大小.
就像我说的那样,无论你使用物理单位还是像素,都没有区别em
.
我做错了什么?我忽略了什么吗?有什么我可以做的,没有强迫固定纸张尺寸(如A4)下来的人的喉咙?
编辑:经过一些更多的测试,我发现IE考虑了打印机边距,而Mozilla却没有.因此,如果将所有边距设置为零,IE和Mozilla都会报告宽度为20..21cm.其他人仍然非常不合作.