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

时间:2014-06-11 19:53:54

标签: 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;

但是我们只能使用这个,因为我在所有浏览器的所有现代版本中都看到了这个功能:

transition: all 350ms ease-in-out;

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

2 个答案:

答案 0 :(得分:5)

当浏览器还不支持未加前缀的版本时使用它们。您可以访问Can I Use?或Mozilla Developer Network等网站来判断浏览器是否支持该浏览器。

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

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

答案 1 :(得分:0)

我喜欢使用MDN's CSS reference,因为您可以看到所有css属性及其浏览器兼容性/前缀。