如何在打印预览上设置边距0?

时间:2009-06-04 19:24:28

标签: css internet-explorer margins

我在哪里做错了?

这是正常的打印预览: this is the first picture

但是我想看到这张照片(没有拖动边距箭头) alt text

这是css代码和预览:

alt text

5 个答案:

答案 0 :(得分:25)

是。可以在页面打印输出中更改边距。该规则看起来像:

@page {
    margin: 0;
}

这在目前的Firefox中无效。如果您在@page CSS support上查看其开发者参考,则可以看到哪些浏览器支持@page

答案 1 :(得分:17)

您可以做的最好的事情是@page margins。但请注意,如果将边距设置为0,则可以并且很可能会被否决。

答案 2 :(得分:1)

谢谢!适用于chrome

@page {
    margin: 0;
}

答案 3 :(得分:0)

我认为实际上不可能这样做,因为你要推翻用户计算机上的默认值。据我所知,如果没有IE中的某种ActiveX脚本,Web应用程序就没有访问权限来更改打印机设置等内容。

我有一段时间遇到过类似的问题,最后不得不使用TCPDF动态生成PDF。最终效果更好,因为你可以更好地控制布局。

答案 4 :(得分:0)

我无法将计算机从Windows XP升级到更新的版本,所以基本上我一直坚持使用IE8。

我发现在IE8上,页面边距始终是最小的,左右为6.01mm,顶部和底部为5mm。无论我做什么,即使在@page规则中使用@左上角和右上角规则,它仍然会默认为上面的值。

创建样式表可能更容易考虑到对打印尺寸的这种限制。

它也可能有助于将IE hack \ 9放在CSS类属性值的前面,复制属性也可能在某些情况下有所帮助,(但不会影响页面的边距),例如: / p>

.aDiv {
    margin: 10mm;
    margin: 15mm\9;     //this \9 hack will set that value only on IE8.
}

我知道还有其他类似的黑客,比如\ 0但我承认不完全理解它们。在某些情况下,\ 9适用于IE8。