2016-08-01 5 views
0

При назначении цвета hsl с использованием Javascript он не применяет его как цвет 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: [см. Это] (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 в качестве переменной или атрибута для переноса при изменении или повторном использовании цвета может быть самым простым решением.