这个JSFiddle包含一个CSS动画,适用于我在Chrome,Firefox和Safari,但不是IE 10。我知道IE 10 不会 需求的-ms-前缀,所以不可能是它。我看不出这有什么问题:
@keyframes snapVertical {
0% { background-position: 0 0; }
16% { background-position: 0 0; }
21% { background-position: 0 -136px; }
37% { background-position: 0 -136px; }
42% { background-position: 0 -272px; }
58% { background-position: 0 -272px; }
63% { background-position: 0 -136px; }
79% { background-position: 0 -136px; }
84% { background-position: 0 0; }
100% { background-position: 0 0; }
}
.animation-snap-vertical {
animation: snapVertical 4s cubic-bezier(0.165, 0.840, 0.440, 1.000) 0s infinite;
}为什么这在IE 10中不起作用?
编辑
为什么水平的工作,而不是垂直的(小提琴)?
水平动画:
@keyframes snapHorizontal {
0% { background-position: 0 0; }
16% { background-position: 0 0; }
21% { background-position: -176px 0; }
37% { background-position: -176px 0; }
42% { background-position: -352px 0; }
58% { background-position: -352px 0; }
63% { background-position: -176px 0; }
79% { background-position: -176px 0;}
84% { background-position: 0 0; }
100% { background-position: 0 0; }
}
.animation-snap-horizontal {
animation: snapHorizontal 4s cubic-bezier(0.165, 0.840, 0.440, 1.000) 0s infinite;
}发布于 2013-03-07 20:43:40
它看起来像IE中的一个bug (参见相似的问题)。为了解决这个问题,我只需将初始和最后的偏移量更改为0.1px,而不是0。这似乎解决了这个问题。解决方案代码(小提琴):
@keyframes snapVertical {
0% { background-position: 0 0.1px; }
16% { background-position: 0 0.1px; }
21% { background-position: 0 -136px; }
37% { background-position: 0 -136px; }
42% { background-position: 0 -272px; }
58% { background-position: 0 -272px; }
63% { background-position: 0 -136px; }
79% { background-position: 0 -136px; }
84% { background-position: 0 0.1px; }
100% { background-position: 0 0.1px; }
}
.animation-snap-vertical {
animation: snapVertical 4s cubic-bezier(0.165, 0.840, 0.440, 1.000) 0s infinite;
}https://stackoverflow.com/questions/15280791
复制相似问题