2013-07-22 30 views
3

如何在CSSStyleDeclaration對象上設置hsl顏色?如何在CSSStyleDeclaration對象上設置hsl顏色?

//CSS 
    background-color: hsl(155,100%,30%); 
//JavaScript 
    divElement.style.backgroundColor = ?; 

我不想在javascript中使用HEX值或顏色名稱。

請建議。

W3C標準鏈接也是一個很好的幫助。

我毫不猶豫地設置hsl字符串,因爲我沒有在W3C CSSOM或DOM標準中找到它。

回答

8

只需設置它作爲一個字符串

divElement.style.backgroundColor = "hsl(155,100%,30%)"; 

演示:http://jsfiddle.net/maniator/gg7JN/

+0

除此之外,應該注意的是,在DOM中,它總是轉換回RGB。即使手動設置'style'屬性字符串。然而,我不知道這個行爲是在規範中定義的,還是隻是瀏覽器的行爲。當您需要HSL聲明時,可能會導致一些問題(例如,您想要爲Hue值設置動畫效果)。 – Tarulia

2

你想the w3 standard,第4.2.4節。

實例從網站複製:

  • {顏色:HSL(0,100%,50%)}/*紅色*/
  • {顏色:HSL(120,100%,50% )*/*石灰*/
  • {顏色:hsl(120,100%,25%)}/*深綠色*/
  • {color:hsl(120,100%,75%)} * * light綠色*/
  • {color:hsl(120,75%,75%)}/*淡綠色等*/

注意:我不是說尼爾的回答是錯誤的 - 你可以可以簡單地使用hsl字符串,正如Neal所說。這些例子適用於css文件。

你想,可以讓你容易的使用CSS樣式HSL哈希顏色或RGB實際行是standard section 4.0,這只是說:

一個<顏色>或者是一個關鍵字或一個數字規範。

之後再定義類型的色彩的部分:關鍵字(fuchsia),散列格式(#ffcc88),RGB /格式(rgba(255,255,255,0.1)),或HSL /格式(hsla(0, 100%, 50%, 0.9))。任何時候都可以使用任何一種CSS顏色。