是否有理由在css中跨越供应商前缀?

时间:2013-12-24 23:13:04

标签: css

我正在查看Google的Santa Tracker的代码,我对他们处理供应商前缀的方式有疑问。 例如在关键帧声明中:

@-webkit-keyframes fly {
    0% {
        -webkit-transform: translateY(0) translateX(0);
        -moz-transform: translateY(0) translateX(0);
        -ms-transform: translateY(0) translateX(0);
        -o-transform: translateY(0) translateX(0);
        transform: translateY(0) translateX(0);
        -webkit-transform: translateZ(0) translateY(0) translateX(0);
        -moz-transform: translateZ(0) translateY(0) translateX(0);
        -ms-transform: translateZ(0) translateY(0) translateX(0);
        -o-transform: translateZ(0) translateY(0) translateX(0);
        transform: translateZ(0) translateY(0) translateX(0);
    }
    ...
}

第一行 -webkit-transform: translateY(0) translateX(0); 以外的所有内容无法访问,对吗?浪费代码? 或者是否有理由跨越供应商前缀?例如,IE是否有可能达到该代码(并被它混淆)?

也许仅适用于@keyframes fly { ... }? (假设将来会有更多的浏览器支持它。但是,如果他们支持未加前缀的@keyframes,我认为他们可能也支持transform ..(?))

无论如何,我认为Santa Tracker会给CSS带来巨大的冲击。而且我要向那些说CSS编程不是真实的人展示它。 :)

1 个答案:

答案 0 :(得分:0)

程序员可能只是习惯于列出所有特定于供应商的属性形式,并且即使它不是真的需要,他也是在这种情况下做的。

它还使代码更具有前瞻性。如果他向块添加其他特定于供应商的选择器,则他不必记住添加相应的特定于供应商的属性。