适用于Mac和Windows的Chrome - 使用系统对话框打印@page属性已被忽略

时间:2014-02-03 22:59:54

标签: css css3 google-chrome twitter-bootstrap

我发现Google Chrome for Mac中存在一个非常奇怪的问题,我正试图修复它。使用“打印使用系统对话框”选项时,将忽略打印样式中的@page,从而导致页面打印错误。通过内置的chrome打印对话框进行打印时,它似乎可以使用。

在Windows Chrome中,系统对话框和常规对话框都会忽略@page属性。

我甚至定义@page属性的唯一原因是因为我的bootstrap版本定义了这些并且我想覆盖它们。

这是代码:

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
@page
{
    margin:10cm 10cm;
}
@media print
{
    @page
    {
        margin:0 !important;
    }
}
</style>
</head>

<body>
<h1>Hello World</h1>
</body>
</html>

工作示例:

http://blastohosting.com/chrome_bug/

1 个答案:

答案 0 :(得分:2)

我尝试了几种方法,发现一种适用于我的Chrome版本(32)。您必须将打印媒体查询中的@page边距值设置为0而不重要,任何其他值都会触发错误:

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
@page
{
    margin:10cm 10cm;
}
@media print
{
    @page
    {
        margin:0;
    }
}
</style>
</head>

<body>
<h1>Hello World</h1>
</body>
</html>