我希望能够通过编程方式为一个元素添加渐变背景。
使用适当的CSS,代码如下:
background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #000000 0%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #000000 0%,#ffffff 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #000000 0%,#ffffff 100%); /* IE10+ */
background: linear-gradient(to bottom, #000000 0%,#ffffff 100%); /* W3C */
现在,我想使用JavaScript来实现这个。所以,我构想了以下的代码:
gradientList.forEach(gradient => el.style.background = gradient)
然而这样行不通。每次都会覆盖背景属性,只应用列表中的最后一个渐变。
对于大多数其他属性,厂商之间的属性名称不同,但在线性渐变的情况下,它们都是“background”。
现在,我知道我可以只需向元素添加类名并将“style”节点附加到“document.head”(这是我现在正在做的),但这种方法相当不正规,我想要更好的 DOM 方法。
简而言之,如何使用纯 JavaScript 将供应商前缀的渐变添加到 DOM 元素?
style
属性在行内设置样式,例如这个bin。我通过回答这里的另一个问题来添加更多解释。 - Aurelio