保持颜色转换为RGB?

问题描述:

当使用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://*.com/questions/2353211/hsl-to-rgb -color-conversion) –

+1

你想保持HSL颜色的目的是什么?屏幕只能显示RGB,所以在视觉上,除非您尝试创建需要CMYK颜色的可打印文档,否则没有区别 - 我只看到CSS4草稿中的那些文档。 – TheThirdMan

+0

这会帮助你吗? http://*.com/questions/2353211/hsl-to-rgb-color-conversion – LGSon

对于SVG元素,您可以使用“填充”颜色的属性而不是样式,并且它将保留HSL格式。

对于通常的元素,将HSL值作为变量或属性存储以便在修改/重新应用颜色时进行拉取可能是最简单的解决方案。