顏色 - 為什么 CSS3 的 hsl 色彩模式很少被使用?
問題描述
color:hsl(120,65%,75%)
色相,飽和度,亮度的hsl記法相比rgb更難理解嗎?
問題解答
回答1:可能是歷史原因。畢竟w3c規(guī)范中,最早出現(xiàn)的顏色空間是rgb,而且基于加法原則的rgb顏色空間對顯示器是更加友好的,因為顯示器的信道剛好是rgb三通道。
相對應(yīng)的,cmyk則是基于減法原則的顏色空間,由于顏料的物理混合不可能完全均勻,以及環(huán)境光問題,cmyk實際應(yīng)用上可能與對應(yīng)的rgb空間顏色相比要更暗(比如同一幅畫的印刷品比顯示品往往要顯得灰暗)。
不過rgb/rgba并不是對人類,尤其是藝術(shù)家友好的顏色。如果你學(xué)過藝術(shù),你肯定經(jīng)常說這是什么顏色、什么明度、什么純度(飽和度),而不會說這個顏色有多少階的藍、多少階的紅。如果有人直接用css搞創(chuàng)作的話,這些hsl屬性還是能幫忙的。而且,hsl在表達明度方面確實比rgb更準(zhǔn)確,當(dāng)然,這個“準(zhǔn)確”是物理層面的,數(shù)學(xué)層面上,rgb、cmyk、hsl這三個顏色空間當(dāng)然可以相互轉(zhuǎn)換。
再一個就是,hsl顏色空間可以配合css3動畫。比如同色相從明到暗的變化,顯然hsl更方便表達一些。
影視后期特效制作方面,hsl顏色空間用得更多一些,不知道以后css動畫變得像美國科幻大片這樣復(fù)雜了,會不會也大規(guī)模應(yīng)用hsl。
最后吐槽:其實w3c還不如把yuv顏色空間單位也列入標(biāo)準(zhǔn)呢……
回答2:難道不是因為兼容性?
回答3:因為頁面都是從PSD等設(shè)計稿上過來的,如果是顏色值的話,就直接通過取色軟件獲取,一般都是十六進制的顏色。現(xiàn)在為了一些透明的方便,而增加了一個RGBA的方式來表示。所以這兩種才會比HSL的方式要流行很多。
然后還有一個就是HSL的方式,需要對H、S、L這三種顏色模式有一定的了解才好操作,具體還是要根據(jù)項目需求來確定用什么顏色值比較好。
這里有一個是曾經(jīng)很早之前我用HSL的方式來做的小東西,代碼很爛……h(huán)ttp://lab.tianyizone.com/color.html
回答4:兼容性,還有透明度,RGB和RGBA秒殺HSL
回答5:RGB模式,我可以是很容易地想象各種顏色比例,知道想紅一點怎么做,藍一點怎么做,你讓我記色相,怎么弄?
回答6:rgb和rgba是主流的吧,W3C推薦這個
相關(guān)文章:
