颜色渲染差异:Firefox 与 Safari

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

CSS-Tricks 的读者 Norm 写信询问我在他正在设计的新网站上遇到的颜色问题。

我有一个关于我的 测试网站 的图形问题。页眉和主页面背景来自同一张原始图形,在 Firefox 中,页眉和主体颜色相当匹配(我仍然需要做一些工作才能使图案更好地匹配),但在 Safari 中,页眉和主体之间的棕色阴影看起来完全不同,在它们交汇处形成了接缝。您是否知道如何在 Safari 中避免这些差异?

我在 Safari 和 Firefox 中都打开了它的网站,确实看到了同样的问题。以下是它们并排的截图。

comparison.jpg

看到照片下方和第一篇文章之前的颜色冲突了吗?糟糕。我的第一个想法是找到这两张图片,并在 Photoshop 中仔细查看它们。这是 页眉图片,这是 主体图片。看看当我将主体图片方块叠加到页眉图片上时会发生什么。

on-top.jpg

在右下方,您可以清楚地看到主体图片方块。这解释了 Safari 中发生的事情。这些图片显然具有不同的米黄色阴影,因此冲突是有道理的。那么 **究竟** 在 Firefox 中发生了什么?!它是否具有某种超级天才的颜色匹配能力?

Norm 提出要将创建页眉和主体图片的原始文件发送给我。我认为我会将这些实时图形文件与此文件进行比较,看看是否能发现任何信息。我打开了这个原始文件,并将主体背景方块叠加到上面,然后……

original-file.jpg

它完美匹配!嗯……所以看来,如果这两个文件最初都是从这个原始文件创建的,那么在导出顶部页眉图片时发生了一些事情,以某种方式改变了它的色调。我立即考虑了颜色索引。由于顶部图片处理的颜色种类更多,如果这些图片是颜色索引的,则顶部图片将有更少的颜色用于米黄色,这可以解释色调的变化。由于这两个图片都是 JPG 格式,而颜色索引仅适用于 GIF 和 PNG,因此情况并非如此。

然后我突然想到……

啊哈,是颜色配置文件!

我真应该马上想到这一点,但有时简单的答案是最难以捉摸的。我记得 Safari 是唯一几个真正 支持图片颜色配置文件 的浏览器之一。快速查看这两个图片的“获取信息”就能揭示真正的问题。

color-profile.jpg

顶部图片确实以不同的方式导出,它使用的是“校准的 RGB 色彩空间”,而主体背景图片使用的是“sRGB”。这可能是由于以不同的方式从 Photoshop 保存图片造成的。如果您从文件菜单中“**另存为…**”,您将有机会保存颜色配置文件以及图片。如果您“**存储为 Web 所用格式与设备…**”,“sRGB”(最适合 Web)颜色配置文件将自动应用(至少在 CS3 中是这样)。

就是这样。并不是 Firefox 非常聪明,实际上它很笨,只是看起来很聪明。就像瑞茜·威瑟斯彭一样。

这些颜色配置文件的用途是我以后可以讨论的,但要记住避免像 Norm 遇到的问题,重要的是要确保所有图片都以相同的方式导出,因此它们要么没有颜色配置文件,要么都具有相同的颜色配置文件。这将确保网站(至少在颜色方面)在不同浏览器中呈现相同的效果。

要检查您的浏览器是否支持颜色配置文件(以及支持程度),请查看有关该主题的 ICC 页面