【发布时间】:2017-10-09 00:36:40
【问题描述】:
我有一个具有背景渐变的 div,其值是使用 javascript 动态设置的。有时,我需要更改渐变值(可以是颜色或颜色停止位置)。我想在不使用 javascript 的情况下为这些更改设置动画(不要误会我的意思,我使用 javascript 设置了渐变值,但我想使用 CSS3 为 thise 设置动画)。我尝试像使用 CSS 一样设置 transition 属性。这是一个 MWE:
function getPercent() {
return Math.random() * 100;
}
setInterval(() => {
const per = getPercent();
document.getElementById('foo').style.background =
`linear-gradient(to right, #aebcbf 0%,#aebcbf ${per}%,#0a0e0a ${per}%,#0a0e0a 100%`
}, 1000)
.container {
transition: all 1s ease;
background: linear-gradient(to right, #aebcbf 0%,#6e7774 50%,#0a0e0a 51%,#0a0809 100%);
width: 150px;
height: 10px;
}
<div class="container" id="foo"></div>
【问题讨论】:
-
@evolutionxbox 我希望这些值来自 javascript,正如上次编辑现在所展示的那样,问题来自 2011 年
-
在这种情况下,问题的日期无关紧要。 stackoverflow.com/questions/6542212/… 有你的答案。 CSS 渐变仍然是不可动画的属性(过渡)。
标签: javascript html css