Mac 上的 Chrome 和 Safari 之间的十六进制颜色显示不同

E D*_* II 3 html css safari google-chrome colors

十六进制颜色值是否可能在浏览器之间显示不同?在网站上工作时,我一直注意到 Chrome 和 Safari 预览时使用的红色存在差异。

  • Chrome:版本 58.0.3029.110(64 位)
  • Safari:版本 10.1.1 (12603.2.4)
  • MacOS Sierra:版本 10.12.5 (16F73)
  • iMac(视网膜 5K,27 英寸,2014 年末)

代码:

<!DOCTYPE html>
<html>
<head>
	<title>Color Test</title>
	<style type="text/css">
body {
	height: 200px;
	background-color: #ff3324;
}	
	</style>

</head>
<body>


</body>
</html>
Run Code Online (Sandbox Code Playgroud)

色彩对比截图: 左:Chrome
右:Safari

怎么了?

Kai*_*ido 5

这是因为 Safari 可以访问您显示器的 ICC 配置文件,并且它将使用它来提供 sRGB 的最佳对应关系。

在 Mac 上,您可以使用应用程序 > 实用程序中的DigitalColor Meter实用程序进行检查。将其设置为以 sRGB 显示以查看测量的颜色。Safari 将始终显示正确的 sRGB 颜色,而 Chrome 和 Firefox 将关闭非标准 sRGB 颜色配置文件。

如果您将显示器的颜色配置文件设置为标准 sRGB,则所有浏览器都会显示正确的值。

Safari 中没有设置可以使其表现得像其他浏览器一样,而且我在 chrome 中也没有找到方法;Firefox 有一些关于颜色管理的标志,但我认为这只是关于图像的嵌入 ICC 配置文件,而不是显示器的配置文件。

[编辑]

实际上 FF 的标​​志gfx.color_management.XXXX也适用于渲染的颜色,并且将提供与 Safari 相同的行为。但是,设置它时似乎存在错误(例如,canvas 的getImageData()方法将返回显示的 sRGB 值,而不是已编写的 RGB 值)。