如何为svg元素提供hsl颜色值

A_u*_*ser 12 javascript svg

我想问一下,如果已经读过可以给svg元素提供hsl颜色值.但是当我尝试这样的时候

var color = hsl(0, 100%, 50%);

circle.attr("fill" , color);
Run Code Online (Sandbox Code Playgroud)

我收到错误"意外号码"

任何人都可以指导正确的方法,并且svg也支持所有的hsl颜色

谢谢

Eng*_*eer 22

只是

var color = hsl(0,100%,50%);
Run Code Online (Sandbox Code Playgroud)

行的意思,你调用hsl函数0,100%,50%参数,并返回值赋给color变量.

您需要使用引号,并将颜色作为string:

 var color = "hsl(0, 100%, 50%)";

 circle.attr("fill" , color);
Run Code Online (Sandbox Code Playgroud)

有关更多信息HSL,请阅读此处.

并且它不会满足hsl颜色是SVG由其他元素使用还是由其他元素使用.它只是一种指定语法color.

更新:要提供color变量随机行为,请尝试以下方法:

var color = "hsl("+[0,0,0].map(function(){   return Math.round(100*Math.random())+"%"; }).join(',')+")";
Run Code Online (Sandbox Code Playgroud)

  • 如果有人关心,生成的随机颜色是无效的。色调范围在 0-360 之间,以角度而非百分比为单位。 (2认同)