打印HTML页面时文本颜色不正确

And*_*vey 11 css printing

为什么浏览器在打印时会改变文本的颜色?

例如,创建一个空白HTML文档,其中包含:

<span style="color: #80b831">test</span>
<button onclick="window.print()">Print</button>
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/7z6c2/

span具有color: #80b831在屏幕上,但打印时(甚至只是打印预览在Chrome)的颜色是不同的(石灰绿).

ScreenshotsfromPDFCreator

如果我在打印预览中勾选Chrome的"背景颜色和图像"选项,则会使用正确的颜色.

这里发生了什么事?如何在默认情况下显示正确的颜色?这与"网页安全"颜色有关吗?

Vik*_*dke 10

检查这个小提琴

您必须在要打印的元素上使用-webkit-print-color-adjust

另请查看此处以了解有关打印颜色调整的更多信息https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-print-color-adjust

  • 如果您不使用该选项,这并不能完全解释为什么颜色会关闭.它不是背景颜色. (6认同)
  • 这仍然无法解释为什么Chrome会这样做. (3认同)
  • @Juhana:+1,虽然这可以作为Chrome的解决方法,但它没有提供原因(这是原始问题). (3认同)