我正在查看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编程不是真实的人展示它。 :)
答案 0 :(得分:0)
程序员可能只是习惯于列出所有特定于供应商的属性形式,并且即使它不是真的需要,他也是在这种情况下做的。
它还使代码更具有前瞻性。如果他向块添加其他特定于供应商的选择器,则他不必记住添加相应的特定于供应商的属性。