搜尋

首頁  >  問答  >  主體

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

color:hsl(120,65%,75%)

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

迷茫迷茫2783 天前845

全部回覆(6)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 11:13:05

    可能是曆史原因。畢竟w3c規範中,最早出現的顏色空間是rgb,而且基於加法原則的rgb顏色空間對顯示器是更加友好的,因為顯示器的信道剛好是rgb三通道。

    相對應的,cmyk則是基於減法原則的顏色空間,由於顏料的物理混合不可能完全均勻,以及環境光問題,cmyk實際應用上可能與對應的rgb空間顏色相比要更暗(比如同一幅畫的印刷品比顯示品往往要顯得灰暗)。

    不過rgb/rgba並不是對人類,尤其是藝術家友好的顏色。如果你學過藝術,你肯定經常說這是什麼顏色、什麼明度、什麼純度(飽和度),而不會說這個顏色有多少階的藍、多少階的紅。如果有人直接用css搞創作的話,這些hsl屬性還是能幫忙的。而且,hsl在表達明度方麵確實比rgb更準確,當然,這個“準確”是物理層麵的,數學層麵上,rgb、cmyk、hsl這三個顏色空間當然可以相互轉換。

    再一個就是,hsl顏色空間可以配合css3動畫。比如同色相從明到暗的變化,顯然hsl更方便表達一些。

    影視後期特效製作方麵,hsl顏色空間用得更多一些,不知道以後css動畫變得像美國科幻大片這樣複雜了,會不會也大規模應用hsl。

    最後吐槽:其實w3c還不如把yuv顏色空間單位也列入標準呢……

    回覆
    0
  • PHPz

    PHPz2017-04-17 11:13:05

    難道不是因為兼容性?

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 11:13:05

    因為頁麵都是從PSD等設計稿上過來的,如果是顏色值的話,就直接通過取色軟件獲取,一般都是十六進製的顏色。現在為了一些透明的方便,而增加了一個RGBA的方式來表示。所以這兩種才會比HSL的方式要流行很多。

    然後還有一個就是HSL的方式,需要對H、S、L這三種顏色模式有一定的了解才好操作,具體還是要根據項目需求來確定用什麼顏色值比較好。

    這裏有一個是曾經很早之前我用HSL的方式來做的小東西,代碼很爛……
    http://lab.tianyizone.com/color.html

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 11:13:05

    兼容性,還有透明度,RGB和RGBA秒殺HSL

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 11:13:05

    RGB模式,我可以是很容易地想象各種顏色比例,知道想紅一點怎麼做,藍一點怎麼做,
    你讓我記色相,怎麼弄?

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 11:13:05

    rgb和rgba是主流的吧,W3C推薦這個

    回覆
    0
  • 取消回覆