如果我以前从未见过这个问题的标题,我的第一反应是,“不要!改用特征检测!”,这是完全有道理的,但是,这不是我正在尝试的功能检测,而是Firefox如何呈现颜色。
出于某种原因,到目前为止我测试过的所有其他浏览器都会呈现某种十六进制颜色,该颜色在图像之间出现精美,但在 Firefox 中显得更亮。
我已经阅读了可能的原因(即关于颜色配置文件的一些信息,我现在正在探索这个主题)和“about:config”文件:
http://support.mozilla.org/en-US/questions/774152
http://jorgebernal.info/2008/03/08/whats-wrong-with-colors-in-firefox/
http://www.maketecheasier.com/28-coolest-firefox-aboutconfig-tricks/2008/08/21
知道为什么很好,但似乎没有关于网页设计师应该如何处理这个问题的话题(另外,我可能在这里混淆了这个问题,因为他们似乎在谈论很多关于图像,我遇到问题的颜色渲染不是图像,而只是一个简单的十六进制颜色代码值)。
下面是几个屏幕截图,显示了正确显示的颜色(第一个显示)和 Firefox 如何呈现颜色(第二个显示)之间的差异。注意每个“按钮”图像之间的颜色(实际上只是一个“鼠标悬停”下拉框)。另请注意,图像之间显示的小颜色不是图像本身,只是标准 CSS 呈现的十六进制颜色:
IE 10:
火狐 21.0:
我对任何可以让 Firefox 以与 IE 和 Chrome 相同的方式显示颜色的解决方案都很好(在 32 位和 64 位上进行了测试,但仍然只有 Firefox [在两者上]),但我知道我'我不会改变整个世界的“about:config”文件,所以如果我能可靠地检测到 Firefox,也许我可以将它的颜色调整为更深的阴影。不幸的是,我(可能非常明智地)从不使用浏览器检测,因为我知道它是多么不稳定和不可靠。
是否有可靠的(更不用说,面向未来的)方法来为网页设计师检测 Firefox?我只是将 JavaScript/jQuery 用于客户端脚本。
- - - - - - - - - - 更新 - - - - - - - - - - -
好的,这是呈现边框颜色的 CSS。红色按钮有两个类:DDL 和 visType,而灰色按钮有 DDL 和 groupType 类。
.DDL.visType
{
background-color: #bb9191;
border-right: 2px inset #ba8c8c;
color: #1a5c17;
}
.DDL.groupType
{
background-color: #e7e7e7;
border-right: 2px inset #989898;
color: #0b3773;
}
因此,就 FireFox 而言,您可以看到这个 CSS 没有任何问题。事实上,当查看在 Firebug 和 Chrome 的开发工具中呈现的真实颜色时,两者都表示红色按钮的右边框呈现的实际颜色是相同的(在 rgb 中,它转换为 186、140、140)。