在Safari/Chrome中打印CSS背景?

10
我需要使用CSS背景打印一些页面,但是它们在Safari或Chrome中不显示,在Firefox中有一个页面设置选项,但我无法在这两个浏览器中找到它。它们不支持吗?
提前感谢大家。
4个回答

36

在Chrome中(我认为是新版本17+),这由开发人员可以添加的项目的CSS属性控制:

-webkit-print-color-adjust:exact;

从用户的角度来看,似乎没有这个选项。


这也解决了一些文本颜色问题。我能看到的唯一其他值是“经济”,所以我假设这个想法是通过去除背景和简化颜色来减少墨水使用? - dmnc
@Ben 当你从webkit打印时,它会简化颜色。例如,如果一种颜色含有少量青色和大量洋红色,则为了节省墨水,它将被打印成完全的洋红色。这个声明禁用了这个功能。 - dmnc
@dmnc 嗯,我完全不明白为什么 Webkit 会实现这种属性却不在任何地方记录它。我也很困惑为什么任何浏览器都会以完全隐藏它的方式来实现它。我很难想象一个真实世界的用例,墨水节省应该是开发者而不是用户的决定。 - Ben
@Ben 我认为这只是另一个先有鸡还是先有蛋的问题。Webkit的开发人员决定不允许用户设置打印机属性,因此任何方式都是开发人员的决定。在这种情况下是Webkit的开发人员。我完全同意你的看法,这是用户应该自己决定的选项,而不是开发人员。如果用户想要在一张纸上浪费他们的墨粉,那是他们的选择。但由于一开始就没有这个选项,开发人员必须找到方法来强制执行用户的请求 - 讽刺,不是吗? - raphie
5
Chrome在这个问题上刚刚改变了方向。金丝雀版已经添加了复选框以切换后台打印。查看这个漫长而有争议的Chromium讨论串,可以了解其历史:http://code.google.com/p/chromium/issues/detail?id=113594。 - Ben
显示剩余4条评论

2

有了最新版本的Chrome,有这个选项。

enter image description here

你也可以截屏并在图像编辑器中打印位图图像,或将截屏粘贴到Word中进行打印。

Chrome版本号为69.0.3497.100(官方构建)(64位)


0

我又遇到了这个问题,原因是 Twitter Bootstrap CSS 引起的。当我停止使用 Bootstrap 时,问题得到了解决,无需任何特殊的 CSS 属性(-webkit-print-color-adjust: exact;)。


-2

打印背景图片是一个依赖于浏览器的特性。FF和IE支持,但你无法通过源代码强制实现。


我并不是要强制它,我只是想知道是否有像在FF中一样打开它的选项。 - Javier Villanueva
抱歉,我只知道在 IE 中有一个类似的选项。 - justacoder
1
请参考luke-h的下面的答案。您可以在Webkit中使用神秘的print-colour-adjust属性。 - dmnc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接