为什么绿色的RGB代码如此混乱?

时间:2016-07-04 17:21:01

标签: javascript html css html5 css3

逻辑上,绿色应该是#00FF00,因为绿色是RGB中的G,其中R是#FF0000,B是#0000FF

但是,所有RGB表格都将绿色列为#008000,而#00FF00实际上是石灰。我通过使用名称和代码设置背景颜色来玩浏览器,显然绿色=#008000和lime =#00FF00

某些来源错误地提供了代码,例如 维基百科称绿色在https://en.wikipedia.org/wiki/Green

处是#00FF00

它还说在https://en.wikipedia.org/wiki/Lime_(color)

时石灰是#BFFF00

注意:许多响应者似乎将RGB代码与RGB格式混淆。相同的RGB代码可以具有多种格式,例如相同的数字可以具有几种不同的格式,例如,您可以用十进制,二进制,八进制,十六进制等表示十进制10。等效的相同RGB代码可以用函数符号rgb(R,G,B)表示,或者使用6或3个十六进制数字表示十六进制表示法。所以#00FF00与rgb(0,255,0)相同。这个主题与这个问题无关。

问题是关于一致性。当#00FF00是显而易见的选择时,即使任何接受过初等教育的人也会在分配代码#008000时立即注意到缺乏一致性。由于这是基本逻辑中如此巨大的关注,我认为许多来源会解释选择#008000的原因。缺乏解释本身是最令人惊讶的。没有专业人士会将其传递出去。

2 个答案:

答案 0 :(得分:5)

您正在谈论的RGB表必须是用于HTML和CSS的命名颜色列表(您可以在其中找到列表here),这些列表以您本能地命名颜色命名,用于印刷时使用的非浅色。然而,对于名为红色,绿色和蓝色的三个值,在RGB(加色光)中表示这些值的范围为0到255。这些名称与HTML / CSS命名颜色无关,这就是为什么它们不匹配(再加上命名为红色 - 石灰色的光谱会很奇怪)。

根据上表,这些是您的HTML / CSS值,名称将替换为:

  • 绿色:#008000
  • lime:#00FF00

RGB光谱基于它们的名称给定基色,相应地混合到其他颜色,如下图所示。你可以想象,如果你使用CSS-green代替RGB实际使用的那个,中间颜色会同样改变它们的外观,整个模型都不会那么有用。

RGB spectrumsource

就此而言,您链接的维基百科条目的颜色属性是正确的,因为它是RGB光谱中绿色的“真实”值。然而,HTML / CSS颜色以其更直观的解释命名,可能是因为这是您首先想到的。

此外,有一个article about the history of named colors,虽然没有任何相关的提及这种特定的颜色,进一步强调了我的分析,它的目的是适合普通用户的目的,而不是平均用户的眼睛屏幕工程师。引用它:

然而,普遍的共识是这些颜色的效用很小;它们最好保留为占位符(当你需要快速颜色时,它更容易输入“番茄”而不是“#FF6347”),初学者级别的设计项目,或者作为笑话的屁股。

答案 1 :(得分:1)

好的,首先,...你提到六角颜色。 rgb颜色语法如下:

rgb(255,0,0)(红色)。 十六进制颜色不是一个独立的颜色系统,它只是一种不同的提及方式,但你所要求的可能会降低清晰度。

现在,问你的问题。绿色不是255而是128的原因是因为rgb的目的不仅仅是创建1个单一特殊颜色,而是与其他颜色代码混合以创建更多颜色。较浅的绿色色调可以更好地与其他颜色混合,以创造更好地利用其他价值的颜色。