css - 旋转齿轮动画在 Firefox 中不起作用

标签 css firefox css-transitions

我不确定我错过了什么,但以下动画在 Safari 中有效,但在 Firefox 中无效。也不确定它是否在 IE 中工作。

HTML:

<div>
    <i></i><i></i>
</div>

CSS:

body {
    background: #000;
}

i {
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    top: 30px;
    left: 30px;
    background: url(http://i.imgur.com/lOBxb.png);
    -webkit-animation: barrelRoll 2s infinite linear;
    -moz-animation: barrelRoll 2s infinite linear;
    -o-animation: barrelRoll 2s infinite linear;
    animation: barrelRoll 2s infinite linear;
}

i:last-of-type {
    top: 22px;
    left: 56px;
    -webkit-animation-name: invertBarrelRoll;
    -moz-animation-name: invertBarrelRoll;
}

@-webkit-keyframes barrelRoll {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@-moz-keyframes barrelRoll{
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}
@-o-keyframes barrelRoll{
    0% { -o-transform: rotate(0deg); }
    100% { -o-transform: rotate(360deg); }
}
@keyframes barrelRoll{
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@-webkit-keyframes invertBarrelRoll {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(-360deg); }
}

@-moz-keyframes invertBarrelRoll{
    0% { -moz-transform: rotate(0deg); }
    100% { -moz-transform: rotate(360deg); }
}
@-o-keyframes invertBarrelRoll{
    0% { -o-transform: rotate(0deg); }
    100% { -o-transform: rotate(360deg); }
}
@keyframes invertBarrelRoll{
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

JSfiddle

谁能建议缺少哪个属性?

原始 fiddle 的致谢:Original Fiddle

最佳答案

您没有遗漏一个属性。您需要从 @keyframes barrelRoll 和 @keyframes invertBarrelRoll 中删除 -webkit- 前缀。

所以,这个:

@keyframes barrelRoll{
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

应该是:

@keyframes barrelRoll{
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

还有这个:

@keyframes invertBarrelRoll{
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

应该是:

@keyframes invertBarrelRoll{
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

关于css - 旋转齿轮动画在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35136842/

相关文章:

google-chrome - session ID 为空。调用 quit() 后使用 Web 驱动程序?代码在chrome、ie11和edge浏览器中正确执行,但在firefox 55.0.3中不正确

javascript - 如何从 Firefox 扩展中获取书签列表或可遍历的书签树?

在 webkit 浏览器中迭代属性时,CSS 转换有延迟

javascript - 如何使用属性来显示隐藏带有 CSS3 过渡的元素?

jquery - 如何将固定元素包含在相对元素中?

css - 如何使用 CSS 获得一个带有空格的类名

javascript - Mozilla Firefox 程序化屏幕捕获

javascript - 在切换时向两个类添加过渡

CSS3 动画 SVG 对象的多个属性在 Safari 中不起作用

html - 列表中的 IE z-index 相对/绝对错误