为什么开发人员编写没有前缀的CSS动画规则



我想问一下,既然每个浏览器都有自己的动画前缀,那么为什么开发人员编写没有任何前缀的属性?看看这个来自w3schools.com的例子:

div {
    -ms-transform: scale(0.5,0.5); /* IE 9 */
    -webkit-transform: scale(0.5,0.5); /* Safari */
    transform: scale(0.5,0.5);
}

为什么最后第二行存在?

所以不是每个现代浏览器都需要前缀。事实上,CSS社区希望将它们作为一个普遍的共识,因为它们本质上让人想起浏览器之战。在某些用例中,它们可能很有帮助。您的示例允许支持IE9,而IE10+不需要此前缀。

有些开发人员不希望支持旧浏览器,有些则希望。就是这么简单。

也许我跑题了,但我认为现在许多项目使用CSS预处理器和/或某种构建工具(如webpack, gulp或CodeKit)将开发CSS编译成可生产的代码。

所有这些任务管理器都允许你编写代码而不用考虑供应商前缀,并将大多数浏览器支持的头痛问题委托给像autoprefixer这样的插件。

最新更新