对于不支持@page size的浏览器,它是否可以替代?

时间:2018-10-08 21:31:58

标签: javascript html css

大多数都是在Chrome中进行开发,并且可以像预期的那样进行以下工作:

@media print {
  @page {
    size: letter portait;
    margin: 0in; 
  }
}

尽管CanIUse.com表示Firefox不兼容,但暂时看来对我来说还不错:

https://caniuse.com/#search=%40page

但是,Edge,IE和Safari不能像CanIUse所说的那样工作。

实现同一目标的替代方法是什么?可能要执行以下操作:

@media print {
  body {
    width: 8.5in;
    height: 11in;
    margin: 0in; 
  }
}

1 个答案:

答案 0 :(得分:1)

您的建议基本上会奏效。实际上,我建议您完全不使用@page来编写样式,因为对样式的支持仍然非常有限。编写单个@media print查询在所有浏览器中都相同的查询要比尝试先使用@page创建一个版本然后进行回退要容易得多。

如果您要预览打印介质的样式而不必不断单击打印按钮,只需use your browser's developer tools to test the media you are testing。首先要经过一些反复试验。

此外,对于0值属性,您不需要包括单位。 margin: 0就足够了。