我试图创建一个网页,JS将生成2种颜色并在渐变中使用它们。这就是我所拥有的:
<div id="hi"></div>
div {
width:100px;
height:100px;
}
var hue = Math.floor(Math.random() * 360);
var top = "hsl(" + hue + ",100%,30%";
var bottom = "hsl(" + hue + ",100%,50%)";
document.getElementById('hi').style.background = "linear-gradient(" + top + "," + bottom + ")";
不起作用的演示:http://jsfiddle.net/8pzaeo3w/16/
答案 0 :(得分:1)
渐变定义为CSS
<image>
数据类型;它们只能在需要图像数据类型的地方使用。因此,线性渐变不会对background-color
以及请求<color>
的其他属性起作用。
但是,您可以将其指定给background
。另一个问题是您的top
值。您生成的值是:
hsl(286100%,30%
我相信你可以找出它的错误。
如果你修复了两件事,它就有效。我建议learn how to debug JavaScript,以便您自己检查变量。