关于使用@media print 时 Firefox 与 Chrome 打印到 pdf 工具
About Firefox vs. Chrome print to pdf tool when using @media print
@media
规则可以指定媒体查询,例如 print
,以将 css 规则应用于文档。
假设我有以下代码:
@media print {
@page {
size: 3in;
margin: 0.2in;
}
}
body {
border: 1px solid;
}
<body>
<h1>Title for the page</h1>
<p>Some text goes into here.</p>
</body>
当我在 Chrome 中打开此 html
网页时,使用其“打印为 pdf”工具,我得到了令人满意的结果 - 用户无法更改导出的 pdf 大小,它是由 css 规则确定,在本例中为 3inch×3inch。但是,您可以在此 GUI 中更改边距,尽管我在第二条规则中明确设置了它。
编辑:
在打印工具中选择“默认”页边距时,页边距确实遵循 css 文件中设置的规则。
另一方面,在 Firefox 上,用户可以简单地更改 pdf 页面大小、更改方向以及如何将内容缩放到页面中。如果是这样,那么 css 规则有什么作用?
所以我的问题主要是针对 Firefox 的行为:这是错误还是没问题?
任何想法都会很有帮助。
根据 MDN,自 2021 年 10 月起,@page/size
CSS 规则在基于 Gecko 和 WebKit 的浏览器(Firefox 和 Safari)中根本不被支持。
https://developer.mozilla.org/en-US/docs/Web/CSS/@page/size#browser_compatibility
Bugzilla 条目:[css3-page] implement @page rule size attribute
@media
规则可以指定媒体查询,例如 print
,以将 css 规则应用于文档。
假设我有以下代码:
@media print {
@page {
size: 3in;
margin: 0.2in;
}
}
body {
border: 1px solid;
}
<body>
<h1>Title for the page</h1>
<p>Some text goes into here.</p>
</body>
当我在 Chrome 中打开此 html
网页时,使用其“打印为 pdf”工具,我得到了令人满意的结果 - 用户无法更改导出的 pdf 大小,它是由 css 规则确定,在本例中为 3inch×3inch。但是,您可以在此 GUI 中更改边距,尽管我在第二条规则中明确设置了它。
编辑: 在打印工具中选择“默认”页边距时,页边距确实遵循 css 文件中设置的规则。
另一方面,在 Firefox 上,用户可以简单地更改 pdf 页面大小、更改方向以及如何将内容缩放到页面中。如果是这样,那么 css 规则有什么作用?
所以我的问题主要是针对 Firefox 的行为:这是错误还是没问题?
任何想法都会很有帮助。
根据 MDN,自 2021 年 10 月起,@page/size
CSS 规则在基于 Gecko 和 WebKit 的浏览器(Firefox 和 Safari)中根本不被支持。
https://developer.mozilla.org/en-US/docs/Web/CSS/@page/size#browser_compatibility
Bugzilla 条目:[css3-page] implement @page rule size attribute