为什么深灰色比灰色浅?

问题描述 投票:0回答:3

这里只是简单的好奇心,带着一些实际的担忧,因为我偶尔会被这个问题所困扰。

怎么

Color.DarkGray
Color.Gray
轻?

此行为也显示在 CSS 中,其中属性

color: darkgrey
呈现 #A9A9A9,而
color: grey
呈现 #808080。

css .net system.drawing
3个回答
260
投票

维基百科有一些关于该主题的信息。听起来很多命名的颜色定义都来自 X Windows 系统。在X上,“灰色”实际上更接近“银色”。然而,W3C 将灰色(更合适?)定义为 RGB 50%。

这是关于该主题的更多维基百科

X11 和 W3C 之间最不寻常的颜色冲突也许是 “灰色”及其变体的情况。在 HTML 中,“灰色”具体是 为 128 三元组保留(50% 灰色)。然而,在X11中,“灰色”是 分配给 190 个三元组 (74.5%),接近 W3C“银牌” 192 (75.3%),“浅灰色”为 211 (83%) 和“深灰色” 169 (66%) 名同行。结果,组合的 CSS 3.0 颜色 当今网络上流行的列表产生“深灰色”作为 色调明显比普通的“灰色”浅,因为“深灰色” 源自 X11 – 因为它不存在于 HTML 或 CSS 级别 1 – 而“Gray”源自 HTML。即使在目前的草案中 对于 CSS 4.0,深灰色仍然比灰色更浅。

W3C 颜色 关键词:

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)

24
投票

W3C Grays
九个分配的名称,其中 R、G 和 B 值在数字上相等:

Screenshot showing the shades of gray as generated by the below code

<table border="1" style="border-collapse: collapse; width: 100%;">
  <td style="width: 11%; background-color: Black; color: white;">
    Black<br /> 0, 0, 0<br /><br />
  </td>
  <td style="width: 11%; background-color: DimGray; color: white;">
    DimGray<br /> 105, 105, 105<br /><br />
  </td>
  <td style="width: 11%; background-color: Gray; color: white;">
    Gray<br /> 128. 128, 128<br /><br />
  </td>
  <td style="width: 11%; background-color: DarkGray;">
    DarkGray<br /> 169, 169, 169<br /><br />
  </td>
  <td style="width: 11%; background-color: Silver;">
    Silver<br /> 192, 192, 192<br /><br />
  </td>
  <td style="width: 11%; background-color: LightGray;">
    LightGray<br /> 211, 211, 211<br /><br />
  </td>
  <td style="width: 11%; background-color: Gainsboro;">
    Gainsboro<br /> 220, 220, 220<br /><br />
  </td>
  <td style="width: 11%; background-color: WhiteSmoke;">
    WhiteSmoke<br /> 245, 245, 245<br /><br />
  </td>
  <td style="width: 11%; background-color: White;">
    White<br /> 255, 255, 255<br /><br />
  </td>
</table>


12
投票

我想引用Tim Sneath 的讨论

这些颜色实际上并非起源于 HTML` - 它们的历史仍然比起源于 UNIX 系统的 X Window 系统更早。HTML 规范定义了 16 种命名颜色,它们映射到 16 种基本颜色。 EGA 调色板,但最早的浏览器(例如 Mosaic)也支持任何其他 X11 命名颜色,基于 X 上定义的颜色表示。不幸的是,例如,最初的 16 种命名颜色中的一些与 X11 等效颜色具有不同的表示形式绿色在 X11 中用这种颜色表示,而在 HTML 中用这种颜色表示。不幸的结果是,Gray 在 HTML 中定义为 #808080,但 DarkGray 表示为 #A9A9A9,这意味着它们的方式是错误的。由于 WPF 允许使用与 HTML 相同的命名颜色以实现兼容性,因此相同的特性得以延续。 (您可以在维基百科中找到有关全套 X11 颜色名称及其表示形式的更多信息)。

这就是为什么作者还指出最好使用十六进制或scRGB来表示颜色。

因此,我的建议通常是尽可能使用十六进制或scRGB颜色表示,否则您可能会对您选择的颜色与您的期望不符感到惊讶!

© www.soinside.com 2019 - 2024. All rights reserved.