为什么HSL值不符合预期?

时间:2013-05-30 22:41:42

标签: html css colors jsfiddle hsl

由于HSL值可能在彩虹中循环,并且在这个众所周知的色调阵列(ROYGBIV)中有7种主要颜色,因此每个颜色之间的距离(从0到360)应为51或52.那么为什么呢?这里的颜色与人们的期望不符?

HTML

<p class="red">rot</p>
<p class="orange">arnj</p>
<p class="yellow">yaller</p>
<p class="green">green</p>
<p class="blue">bloo</p>
<p class="indigo">indiglo</p>
<p class="violet">violence</p>

CSS

.red {
    color: hsl(0, 100%, 50%);
}
.orange {
    color: hsl(51, 100%, 50%);
}
.yellow {
    color: hsl(103, 100%, 50%);
}
.green {
    color: hsl(154, 100%, 50%);
}
.blue {
    color: hsl(206, 100%, 50%);
}
.indigo {
    color: hsl(257, 100%, 50%);
}
.violet {
    color: hsl(309, 100%, 50%);
}

请参阅http://jsfiddle.net/NvTvr/

也许假设规范颜色彼此等距是错误的;如果是这种情况(似乎是这样的话),那么真正的蓝色(以及该团伙的其他成员)接受的色调值是多少?

肉眼说30对于橙色是正确的,60对于黄色是正确的;其余的似乎都没问题。

更新

当我听到那些颜色的名字时,这些值(0,25,50,100,200,250,300)更像我的想法:

http://jsfiddle.net/NvTvr/2/

更新2

我再次摆弄,这次是使用John的::http://jsfiddle.net/NvTvr/7/

1 个答案:

答案 0 :(得分:1)

由于HSL是RGB的衍生颜色模型,因此如果查看RGB值,可能会更加清晰。

红色255 0 0(0°100%50%)
橙色255 128 0(30°100%50%)
黄色255 255 0(60°100%50%)
绿色0 255 0(120°100%50%)
蓝色0 128 255(210°100%50%)[对我来说蓝色是RGB 0 0 255 ...]

靛蓝 - 嗯...... - 9 31 146(230°88%30%)
紫罗兰143 0 255(274°100%50%)

名称和相应的值也具有历史背景。有人试图给出彩虹色的名字时很早。

彩虹包含整个色谱。它只是我们的视觉系统,形成了独特的乐队。

您可以使用hsl colors here