【发布时间】:2016-10-28 21:12:12
【问题描述】:
我正在尝试制作与所有浏览器兼容的“线性渐变”动画,但没有运气。
首先我尝试使用 css
.anim {
animate: anim 4s linear infinite;
}
@keyframes anim {
0%, 100% {background: linear-gradient(180deg, rgba(X,X,X,0.8) 0%, rgba(X,X,X,0) 100%);}
30% {background: linear-gradient(180deg, rgba(X,X,X,0.8) 0%, rgba(X,X,X,0) 100%);}
70% {background: linear-gradient(180deg, rgba(X,X,X,0.8) 0%, rgba(X,X,X,0) 100%);}
}
但此代码仅适用于 chrome、safari、edge 等浏览器...但不适用于 firefox。
我在一些论坛上读到这种类型的动画不适用于 Firefox,我尝试使用 jquery
$(document).ready(function(){
function Anim(){
$('.anim').animate({
background:'linear-gradient(180deg, rgba(X,X,X,0.8) 0%, rgba(X,X,X,0) 100%)'
}, 1500)
.animte({
background:'linear-gradient(180deg, rgba(X,X,X,0.8) 0%, rgba(X,X,X,0) 100%)'
}, 1500)
.animate({
background:'linear-gradient(180deg, rgba(X,X,X,0.8) 0%, rgba(X,X,X,0) 100%)'
}, 1500, Anim);
}
Anim();
});
但运气不好,这个在任何地方都不起作用。
PS:我也尝试使用“-moz-linear-gradient”或“-webkit-linear-gradient”
【问题讨论】:
-
请定义所有个浏览器。我确信某些系统上仍然存在 IE6。那么您尝试支持的浏览器支持矩阵是什么?
-
也许不能使用 CSS,但是您可以通过 requestAnimationFrame 使用 Javascript 来完成,例如 Velocity.js 完成的
-
应该注意所有关键帧值都是相同的,这意味着假设所有 X 值都相同
-
这可能会有所帮助:medium.com/@dave_lunny/…
标签: javascript jquery css