【发布时间】:2020-08-07 22:46:33
【问题描述】:
我有这个,如果我设置背景并将线性渐变放入 data-src 之前它可以工作,但是当我将其更改为它以支持更多浏览器时,它不再工作了。背景设置为图像,但渐变未显示。发送到控制台的消息是
linear-gradient(to top, rgba(2, 0, 36, .8) 0%, rgba(0, 0, 0, 0) 100%), url( '/static/images/mountain.jpg');
var url = "url( '" + slide.dataset.src + "')";
slide.style.backgroundImage = url;
if (slide.dataset.type == 'linear') {
var direction = slide.dataset.lindir;
var linstart = slide.dataset.linstart;
var linend = slide.dataset.linend;
var gradient = "linear-gradient(" + direction + ", " + linstart + ", " + linend + ")";
if (!(url == null)) {
gradient += (", " + url);
}
gradient += (";");
console.log(gradient);
slide.style.background = "-moz-" + gradient;
slide.style.background = "-webkit-" + gradient;
slide.style.background = gradient;
}
<div class="content category cursor-hand has-text-centered load" data-type="linear" data-lindir="to top" data-linstart="rgba(2, 0, 36, .8) 0%" data-linend="rgba(0, 0, 0, 0) 100%" data-src="{{ category.url }}">
【问题讨论】:
-
您应该在 slide.style.background 的最后两个赋值中使用 += 运算符
-
@Hisato 不,我们不应该使用 += 我们需要删除前两个,因为它们没用。
-
我知道,它们没用,但如果他真的想让它有这 3 行,它就无法正常工作。
标签: javascript html css gradient