何时在CSS中使用前缀-moz,-webkit,-o而不是简单的属性?

Dmi*_*try 3 html css

我们构建WordPress主题,我想知道使用所有浏览器属性而不是ONE是必要的吗?

例如,我们为"过渡"属性写了这个:

-moz-transition: all 350ms ease-in-out;
-o-transition: all 350ms ease-in-out;
-webkit-transition: all 350ms ease-in-out;
transition: all 350ms ease-in-out;
Run Code Online (Sandbox Code Playgroud)

但我们只能使用这个,因为我看到所有浏览器的所有现代版本中的这个工作:

transition: all 350ms ease-in-out;
Run Code Online (Sandbox Code Playgroud)

为什么我们需要为每个具有相同值的浏览器编写所有属性?我们只想支持现代浏览器(例如,我们不需要支持Firefox 4或Chrome 5或IE 7).我们还需要使用所有属性还是只能使用一个属性?我看到不同的网站使用这种方式不同,不知道谁是对的?当主题具有许多支持不同浏览器的不同前缀的CSS样式和选择器时,这需要花费大量时间为每个浏览器添加所有属性.谢谢!

Tyl*_*erH 5

当浏览器尚不支持未加前缀的版本时使用它们.您可以通过访问像我可以使用的网站来判断浏览器是否支持它吗? 或者Mozilla的开发者网络.

不幸的是,对于开发人员来说,浏览器在不同的时间以不同的顺序实现功能,所有功能都有不同的支 这意味着我们将始终需要了解我们想要使用的功能的当前实现级别.这是做生意的成本.

有一些框架可以进行功能检测,比如Modernizr,但它们需要在安装,使用和实现优雅降级方面付出努力.