对于公认的CSS3属性,我们还应该使用-webkit和-moz吗



我正在尝试清理一个CSS文件,我想知道现在删除供应商特定的属性是否安全,它们是否已经标准化(或至少是半标准化)?

例如,我是否仍应使用

-webkit-border-radius
-moz-border-radius
border-radius

还是简单地使用更好

border-radius

这取决于属性,但主要的答案是,您也应该继续使用以浏览器为前缀的版本。它取决于不同版本浏览器的实现状态和实际使用情况,而不是标准化状态。

查看属性的MDN描述,浏览器兼容性部分。虽然它们不是权威的,也不是所有情况下都绝对最新的,但它们是一个很好的参考。例如,border-radius的描述说Firefox 4.0及更新版本、Chrome 4.0和Safari 5.0支持标准的无前缀版本。旧版本现在的使用率非常低。

另一方面,不应该清理现有的代码。你只会冒着在编辑代码时犯一些愚蠢错误的风险。即使当前版本的Firefox忽略了带前缀的属性名称,这也不会阻止使用它的页面工作,前提是它们也使用标准名称设置属性。

相比之下,例如,非常有用的hyphens属性当前不支持,除非以浏览器为前缀。举另一个例子,虽然Firefox15和更新版本以及Opera也支持标准名称,但border-image大多仅作为浏览器前缀得到支持。

旧版本的浏览器仍然可以使用是有原因的。其中一个原因是,某些在某些环境中很重要的应用程序可能无法在较新版本的浏览器上运行。(或者,当我遇到一些使用中的非常旧的版本时,有人告诉我。)

是的,我会说坚持使用它们。除非您确信X浏览器已经标准化。根据w3schools的说法,所有主要的浏览器都支持border-radius,但它并不是一个值得信赖的此类信息网站。

为什么不测试一下呢?

使用前者来支持向后兼容性。

-webkit-border-radius
-moz-border-radius
border-radius

最新更新