css - 为什么这个 CSS 动画在 IE10 中不起作用?

标签 css internet-explorer-10 css-animations

This JSFiddle包含一个 CSS 动画,适用于 Chrome、Firefox 和 Safari,但不适用于 IE 10。我知道 IE 10 doesn't need -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 中不起作用?

编辑

为什么水平的有效,而垂直的无效(fiddle)?

横向动画:

@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;
}

最佳答案

它看起来像是 IE 中的错误(请参阅 similar SO question)。为了解决这个问题,我只是将初始和最终偏移量更改为 0.1px 而不是 0。这似乎已经解决了问题。解决方案代码(jsfiddle):

@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;
}

关于css - 为什么这个 CSS 动画在 IE10 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280791/

相关文章:

javascript - 使用 jquery 从 div 中拆分文本

jquery - 点击打开子下拉菜单

javascript - 你可以在 jQuery 中使用 length() 按图像名称计算元素吗?

html - 如何动画扩展/收缩而不是向上/向下

javascript - 从下方顺利滑入新的 div

css - 使用 CSS3 关键帧

jquery - 仅使用 jquery 获取被 css 隐藏的可见单词

css - 背景渐变在 IE10 中渲染不正确

html - IE10 在链接图像上添加边框,忽略为所有其他浏览器修复此问题的 CSS

javascript - IE10桌面版和城域版的区别