【问题标题】:Which prefixes are needed with animations?动画需要哪些前缀?
【发布时间】:2012-12-10 12:13:16
【问题描述】:

我问了我一个问题。当我使用 -webkit- 前缀(或另一个前缀)创建动画时,我只需要使用此前缀编写属性,否则我必须添加所有前缀。

例如

@-webkit-keyframes bounce {
    0% {
        -webkit-transform: scale(0);
    }
    100% {
        -webkit-transform: scale(1);
    }
}

@-webkit-keyframes bounce {
    0% {
        -webkit-transform: scale(0);
        -moz-transform: scale(0);
        -ms-transform: scale(0);
        -o-transform: scale(0);
        transform: scale(0);
    }
    100% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
}

【问题讨论】:

    标签: css css-animations


    【解决方案1】:

    由于只有 WebKit 浏览器可以应用 @-webkit-keyframes 规则,因此在这些规则中包含任何其他前缀没有任何意义。

    您希望为 @keyframes 规则添加其他前缀,而不是其中的属性。里面的属性在适当的地方使用匹配的前缀:

    @-webkit-keyframes bounce {
        0% { -webkit-transform: scale(0); }
        100% { -webkit-transform: scale(1); }
    }
    
    @-moz-keyframes bounce {
        0% { -moz-transform: scale(0); }
        100% { -moz-transform: scale(1); }
    }
    
    @-o-keyframes bounce {
        0% { -o-transform: scale(0); }
        100% { -o-transform: scale(1); }
    }
    
    @keyframes bounce {
        0% { transform: scale(0); }
        100% { transform: scale(1); }
    }
    

    (没有@-ms-keyframes,在@keyframes中也没有必要使用-ms-transform。)

    【讨论】:

    • 好吧,这就是我所相信的,但我想确定一下。如果下一个版本的浏览器支持这个属性,我添加 -ms- 前缀。
    • IE10 已经支持不带前缀的@keyframes,所以确实不需要添加前缀。相信我。
    • 好的,所以我将删除 -ms- 前缀。谢谢。
    • 你应该查看 prefixr.com 它为你做了所有的前缀。甚至还有一堆插件可以让你直接从代码编辑器中使用它。我一直在用它!
    • @PeterVR:我改用-prefix-free。 Prefixr 似乎真的已经过时了——它仍然会产生不再使用的旧的无前缀渐变语法。它还吐出@-ms-keyframes,它仅用于 IE10 平台预览版而不是稳定版。
    猜你喜欢
    • 2013-12-30
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2011-09-22
    • 2019-03-18
    • 1970-01-01
    相关资源
    最近更新 更多