我正在查看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
。(?))无论如何,我认为“圣诞老人追踪器”将为CSS带来巨大的飞跃。我将向任何说CSS编程不是真品的人展示它。 :)
最佳答案
总是列出所有供应商特定形式的属性可能只是程序员的一种习惯,在这种情况下,即使确实不需要它,他还是这样做了。
这也使代码更具前瞻性。如果他在块中添加了其他特定于供应商的选择器,则不必记住要添加相应的特定于供应商的属性。
关于css - 是否有理由在CSS中交叉供应商前缀?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20767659/