2016-08-01 167 views
0

當使用Javascript分配hsl顏色時,它不會將其應用爲HSL顏色,而是將其轉換爲RGB。保持顏色轉換爲RGB?

document.body.style.backgroundColor = "hsl(0,100%,50%)" 
document.body.style.backgroundColor; // "rgb(255, 0, 0)" 

我希望能指定HSL色彩,然後修改後的事實飽和度和亮度,但我不能這樣做很容易,因爲它被轉換爲RGB。

有沒有辦法讓它不能轉換爲RGB,或者手動將它轉換回HSL?

+0

您將需要1)將HSL值保存在變量中,或2)將RGB值轉換爲HSL:[see this](http://stackoverflow.com/questions/2353211/hsl-to-rgb -color-conversion) –

+1

你想保持HSL顏色的目的是什麼?屏幕只能顯示RGB,所以在視覺上,除非您嘗試創建需要CMYK顏色的可打印文檔,否則沒有區別 - 我只看到CSS4草稿中的那些文檔。 – TheThirdMan

+0

這會幫助你嗎? http://stackoverflow.com/questions/2353211/hsl-to-rgb-color-conversion – LGSon

回答

0

對於SVG元素,您可以使用「填充」顏色的屬性而不是樣式,並且它將保留HSL格式。

對於通常的元素,將HSL值作爲變量或屬性存儲以便在修改/重新應用顏色時進行拉取可能是最簡單的解決方案。