如何通过CSS设置Safari打印边距以打印无边框

Wil*_*tal 14 css printing webkit

我想在Safari中打印一个没有任何边距的PDF页面.在打印对话框中,页面大小设置为"A4无边框".

无论我做什么,OSX上的Safari都在我的HTML周围增加了额外的余量.检查'打印背景',看看我的意思.

很明显,@ page-rule对Safari没有任何影响,但还有其他方法吗?

http://jsfiddle.net/willemvb/psFHC/

@page {
  size: 21cm 29.7cm;   /*A4*/
  margin: 0; /*webkit says no*/
}

html{
    margin: 0;
    padding: 0;
    width: 100%;
}

body {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    width: 100%; 
    background: #eee;
}
Run Code Online (Sandbox Code Playgroud)

Fla*_*ken 9

有三件事需要考虑:

  1. 不幸的是,页面规则的边缘

    @page {
    margin: 0cm !important;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    对Safari 6没有影响,它在Chrome 23中没有效果.据我所知,只要Safari不支持这一点,就没有解决方案(似乎固定在10mm左右).

  2. 在此处看到的页面设置可能需要在"打印..."菜单面板中定义一个自定义的"纸张尺寸",没有任何余量(您已经这样做了btw).

  3. 显然要照顾其他内容html,身体......没有任何余地.

  • 截至2016年底,我们仍在等待Safari遵守@page元素.这非常令人沮丧,因为它使得很难使用Safari来打印HTML/CSS中定义的标签之类的东西. (5认同)
  • @EFC :) 现在已经是 2019 年了,而且仍然如此,对于其他浏览器来说可悲的是。生成越来越臃肿的 Javascript API 似乎比以合理的方式实现 HTML/CSS 来打印某些内容更重要,从而增加了远程代码漏洞和大量隐私问题的可能性。2019年了,还没有印刷。 (3认同)