我可以强制文本打印为白色吗?

新手上路,请多包涵

假设我有一些文本显示在图像或其他一些可打印颜色上。打印时是否可以强制此文本为白色?在大多数浏览器中,默认行为是强制将白色变为黑色或灰色。当您在背景颜色/图像被删除的容器中打印文本时,这显然是有意义的,但在您将文本覆盖在图像上的情况下,强制文本没有意义。

我应该提一下,我非常了解打印样式表,无论设置字体颜色如何,在 IE/chrome/firefox 中,字体都不会显示为白色。根据浏览器的不同,它最终会变成黑色或灰色。如果您认为确实可行,请在图像上显示白色文本的示例。

为了说明,请参见:

http://jsfiddle.net/NSwYE/

由于印刷的工作方式,我个人认为这是不可能的。尽管如此,这还是很烦人。

原文由 Matt Esch 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 435
2 个回答

这并不完全由网页作者控制。

例如, 这个小提琴 将在三个黑色背景中的任何一个上打印(至少它在戴尔 1720 激光打印机上对我来说是这样)白色文本

浏览器9

如果 用户 选中了旁边的框:

工具 -> 打印 -> 页面设置 -> “打印背景颜色和图像”

如果未选中该框,那么它不会在前两个上打印黑色,但会在最后一个上打印(因为它是 img 标签),但它会将文本打印为灰色,甚至在 img 标签上。因此,“打印背景颜色和图像”的设置似乎会影响浏览器解释文本的方式,如果选中,将允许真正的白色(挖空效果),但如果未选中,则不会。

火狐

在这里找到复选框(似乎有效):

文件 -> 页面设置 -> “打印背景(颜色和图像)”

对于铬?网页作者控制?

我还没有验证 这篇文章 中的信息是否会这样做(它对 我的下一个小提琴 不起作用,但可能是因为它在 iframe 中)。对于应该在 Chrome 中打印的元素,尝试设置:

 -webkit-print-color-adjust: exact;

原文由 ScottS 发布,翻译遵循 CC BY-SA 3.0 许可协议

标记的答案是错误的。 您可以在每个浏览器中控制文本颜色! 你只需要在 svg 中输出文本。浏览器不会改变 svg 中的颜色。这是一个例子:

 <svg height="40" width="200">
   <text font-size="28px" y="25" x="30" fill="#ffffff" >
   Some text
   </text>
</svg>

原文由 Jehy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题