【发布时间】:2016-12-06 22:36:44
【问题描述】:
使用 Javascript 分配 hsl 颜色时,它不会将其应用为 HSL 颜色,而是将其转换为 RGB。
document.body.style.backgroundColor = "hsl(0,100%,50%)"
document.body.style.backgroundColor; // "rgb(255, 0, 0)"
我希望分配一个 HSL 颜色,然后在事后修改饱和度和亮度,但我不能轻易做到,因为它会被转换为 RGB。
有没有办法阻止它转换为 RGB,或者是否需要手动将其转换回 HSL?
【问题讨论】:
-
您需要 1) 将 HSL 值保存在变量中,或 2) 将 RGB 值转换为 HSL:see this
-
您希望保留 HSL 颜色的目的是什么?屏幕只能显示 RGB,因此在视觉上没有区别,除非您尝试创建需要 CMYK 颜色的可打印文档 - 我只在 CSS4 草案中看到过。
-
@TheThirdMan 我希望保留 HSL 格式,以便在动态网页之后轻松更改饱和度和亮度/亮度。
-
我明白了...尽管在 CSS 中,HSL 颜色代码实际上应该是
hsl(0,100%,50%)的单个值,因此事后没有简单的方法可以访问它。也许你应该改用变量?您还可以为要应用背景颜色的元素设置属性,并在更改这些属性时重新应用 CSS。
标签: javascript css colors rgb hsl