首页 > 开发 > CSS > 正文

为什么 CSS3 的 hsl 色彩模式很少被使用?

2017-09-12 09:39:16  来源: 网友分享
color:hsl(120,65%,75%)

色相,饱和度,亮度的hsl记法相比rgb更难理解吗?

解决方案

可能是历史原因。毕竟w3c规范中,最早出现的颜色空间是rgb,而且基于加法原则的rgb颜色空间对显示器是更加友好的,因为显示器的信道刚好是rgb三通道。

相对应的,cmyk则是基于减法原则的颜色空间,由于颜料的物理混合不可能完全均匀,以及环境光问题,cmyk实际应用上可能与对应的rgb空间颜色相比要更暗(比如同一幅画的印刷品比显示品往往要显得灰暗)。

不过rgb/rgba并不是对人类,尤其是艺术家友好的颜色。如果你学过艺术,你肯定经常说这是什么颜色、什么明度、什么纯度(饱和度),而不会说这个颜色有多少阶的蓝、多少阶的红。如果有人直接用css搞创作的话,这些hsl属性还是能帮忙的。而且,hsl在表达明度方面确实比rgb更准确,当然,这个“准确”是物理层面的,数学层面上,rgb、cmyk、hsl这三个颜色空间当然可以相互转换。

再一个就是,hsl颜色空间可以配合css3动画。比如同色相从明到暗的变化,显然hsl更方便表达一些。

影视后期特效制作方面,hsl颜色空间用得更多一些,不知道以后css动画变得像美国科幻大片这样复杂了,会不会也大规模应用hsl。

最后吐槽:其实w3c还不如把yuv颜色空间单位也列入标准呢……