只是好奇心使然,还夹杂着一些实际问题,因为我偶尔会被这件事弄糊涂。
为什么Color.DarkGray
比Color.Gray
轻?
这种行为也显示在CSS中,其中属性color: darkgrey
呈现#A9A9A9,color: grey
呈现#808080。
只是好奇心使然,还夹杂着一些实际问题,因为我偶尔会被这件事弄糊涂。
为什么Color.DarkGray
比Color.Gray
轻?
这种行为也显示在CSS中,其中属性color: darkgrey
呈现#A9A9A9,color: grey
呈现#808080。
3条答案
按热度按时间cld4siwp1#
Wikipedia有一些关于这个主题的信息。听起来很多命名的颜色定义都来自X Windows系统。在X上,“灰色”实际上更接近“银”。然而,W3C将灰色(更恰当吗?)定义为RGB 50%。
下面是更多关于这个主题的维基百科:
也许X11和W3C之间最不寻常的颜色冲突是“灰色”及其变体的情况。在HTML中,“灰色”是专门为128三元组保留的然而,在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关键字:
e5nqia272#
W3C格雷
R、G和B值在数值上相等的九个指定名称:
slwdgvem3#
我想引用Tim Sneath's discussion的话,
这些颜色实际上并不起源于HTML '--它们的日期**比起源于UNIX系统的X Window System还要早。**HTML规范定义了16种命名颜色,它们Map到EGA调色板中存在的基本16种颜色上,但最早的浏览器如Mosaic也支持任何其他X11命名颜色,基于它们在X上定义的颜色表示。不幸的是,原始十六种命名颜色中的一些具有与X11等价物不同的表示,例如绿色在X11中以该颜色表示,而在HTML中它是用这种颜色表示的。不幸的结果是灰色在HTML中被定义为#808080,而暗灰色被表示为#A9A9A9,这意味着它们是错误的方式。由于WPF允许与HTML相同命名的颜色以实现兼容性,结果是相同的特性得以延续。(您可以在Wikipedia中找到关于X11颜色名称及其表示的完整集合的更多信息)。
这就是为什么作者还指出,最好使用十六进制或scRGB来表示颜色。
因此,我的建议是尽可能地使用十六进制或scRGB颜色表示法,否则您可能会惊讶于您选择的颜色与您的期望不符!