为什么 CSS3 的 hsl 色彩模式很少被使用?
color:hsl(120,65%,75%)
色相,饱和度,亮度的hsl记法相比rgb更难理解吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
color:hsl(120,65%,75%)
色相,饱和度,亮度的hsl记法相比rgb更难理解吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
可能是历史原因。毕竟w3c规范中,最早出现的颜色空间是rgb,而且基于加法原则的rgb颜色空间对显示器是更加友好的,因为显示器的信道刚好是rgb三通道。
相对应的,cmyk则是基于减法原则的颜色空间,由于颜料的物理混合不可能完全均匀,以及环境光问题,cmyk实际应用上可能与对应的rgb空间颜色相比要更暗(比如同一幅画的印刷品比显示品往往要显得灰暗)。
不过rgb/rgba并不是对人类,尤其是艺术家友好的颜色。如果你学过艺术,你肯定经常说这是什么颜色、什么明度、什么纯度(饱和度),而不会说这个颜色有多少阶的蓝、多少阶的红。如果有人直接用css搞创作的话,这些hsl属性还是能帮忙的。而且,hsl在表达明度方面确实比rgb更准确,当然,这个“准确”是物理层面的,数学层面上,rgb、cmyk、hsl这三个颜色空间当然可以相互转换。
再一个就是,hsl颜色空间可以配合css3动画。比如同色相从明到暗的变化,显然hsl更方便表达一些。
影视后期特效制作方面,hsl颜色空间用得更多一些,不知道以后css动画变得像美国科幻大片这样复杂了,会不会也大规模应用hsl。
最后吐槽:其实w3c还不如把yuv颜色空间单位也列入标准呢……
难道不是因为兼容性?
因为页面都是从PSD等设计稿上过来的,如果是颜色值的话,就直接通过取色软件获取,一般都是十六进制的颜色。现在为了一些透明的方便,而增加了一个RGBA的方式来表示。所以这两种才会比HSL的方式要流行很多。
然后还有一个就是HSL的方式,需要对H、S、L这三种颜色模式有一定的了解才好操作,具体还是要根据项目需求来确定用什么颜色值比较好。
这里有一个是曾经很早之前我用HSL的方式来做的小东西,代码很烂……
http://lab.tianyizone.com/color.html
兼容性,还有透明度,RGB和RGBA秒杀HSL
RGB模式,我可以是很容易地想象各种颜色比例,知道想红一点怎么做,蓝一点怎么做,
你让我记色相,怎么弄?
rgb和rgba是主流的吧,W3C推荐这个