这里简单的好奇心,带着一些实际问题,因为我偶尔会被这个问题所困扰。
答案 0 :(得分:212)
Wikipedia has some information on the subject。听起来很多命名的颜色定义来自X Windows系统。在X上,“灰色”实际上更接近“银色”。但是,W3C将格雷(更合适?)定义为RGB 50%。
这是关于这个主题的some more Wikipedia:
也许X11和W3C之间的颜色冲突最不寻常的是 “灰色”及其变体的情况。在HTML中,“Gray”是具体的 保留给128三联(50%灰色)。然而,在X11中,“灰色”是 分配到190三联体(74.5%),接近W3C“银” 在192(75.3%),并且在211(83%)和“深灰”处有“浅灰色” 169名(66%)同行。结果,组合了CSS 3.0的颜色 今天在网上流行的列表产生“深灰色”作为 比普通的“灰色”明显更轻,因为“深灰色” 是X11的后代 - 因为它不存在于HTML或CSS级别 1 - 而“灰色”是HTML的后代。即使在目前的草案中 对于CSS 4.0,深灰色仍然比灰色浅。
W3C color个关键字:
DimGray '#696969' (105,105,105)
Gray '#808080' (128,128,128)
DarkGray '#A9A9A9' (169,169,169) //equal to X11 DarkGray
Silver '#C0C0C0' (192,192,192) //close to X11 Gray (190,190,190)
LightGray '#D3D3D3' (211,211,211) //equal to X11 LightGray
Gainsboro '#DCDCDC' (220,220,220)
答案 1 :(得分:7)
我想引用Tim Sneath's discussion关于那个,
这些颜色实际上并不源于HTML` - 它们的日期仍然远远超过源自UNIX系统的X Window系统。 HTML规范定义十六种命名颜色映射到EGA调色板中的基本十六种颜色,但最早的浏览器如Mosaic也支持任何其他X11命名颜色,基于它们在X上定义的颜色表示。不幸的是,一些原始十六种命名颜色与X11等价物具有不同的表示形式,例如,绿色在此颜色中以X11表示,而在HTML中则以此颜色表示。不幸的结果是Gray在HTML中被定义为#808080,但是DarkGray被表示为#A9A9A9,这意味着它们是错误的方式。由于WPF允许与HTML相同的命名颜色以实现兼容性,因此结果是相同的特性继续发展。 (您可以在维基百科中找到有关X11全部颜色名称及其表示的更多信息。)
这就是为什么作者还说最好使用十六进制或scRGB来表示颜色。
因此,我建议尽可能使用十六进制或scRGB颜色表示,否则您可能会对您选择的颜色与您的期望不符而感到惊讶!
答案 2 :(得分:6)