【问题标题】:CSS Animation based on 2d transform functions in Chrome and Safari, but not in Firefox在 Chrome 和 Safari 中基于 2d 变换函数的 CSS 动画,但在 Firefox 中没有
【发布时间】:2013-07-19 01:32:05
【问题描述】:

我有一个简单的加载动画,其中涉及使用背景图像旋转 div。无论出于何种原因,动画在 Chrome 和 Safari 中都能完美运行,但在 Firefox 中却无法动画。此外,在检查器中查看元素时,没有显示动画属性,这让我相信 Firefox 会根据其语法拒绝该属性。据我所知,语法是 W3C 标准。这是关键帧代码:

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

这是选择器代码:

animation: 'spin' 2s linear 0s infinite;
-webkit-animation: 'spin' 2s linear 0s infinite;
-moz-animation: 'spin' 2s linear 0s infinite;

【问题讨论】:

    标签: firefox webkit css-transforms css-animations


    【解决方案1】:

    'spin' 中删除“ ”,如下所示:animation: spin 2s linear 0s infinite; 修复它。

    demo

    编辑:我还可以补充一点,您应该将无前缀版本放在最后,如我的演示中所示。

    -webkit-animation: spin 2s linear 0s infinite;
       -moz-animation: spin 2s linear 0s infinite;
            animation: spin 2s linear 0s infinite;
    

    【讨论】:

    • 确实如此。根据规范,animation 属性中的动画名称是标识符,而不是字符串。 WebKit 有一个已知的错误,它也接受字符串。
    • 啊,这是一个错误。我不知道。但我觉得它在 WebKit 浏览器中工作很奇怪。
    • 意识到另一个问题是我在堆栈顶部而不是底部有无前缀版本。
    猜你喜欢
    • 2021-10-29
    • 2012-01-12
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 2011-12-12
    • 1970-01-01
    相关资源
    最近更新 更多