我们是否还应该使用-webkit-和-moz-来识别CSS3属性?

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

例如我还应该使用

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

或者简单地选择它是否更好

border-radius

最佳答案 这取决于属性,但主要答案是你应该继续使用浏览器前缀版本.它取决于实现状态和各种版本浏览器的实际使用,而不是标准化状态.

查看MDN descriptions of properties,浏览器兼容性部分.虽然在所有情况下都不具有权威性并且不是绝对最新的,但它们是一个很好的参考.例如,border-radius description表示Firefox 4.0及更新版本,Chrome 4.0和Safari 5.0支持标准的非前缀版本.旧版本的使用率非常低.

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

相比之下,例如,非常有用的连字符属性目前没有支持,除了浏览器前缀.再举一个例子,border-image主要支持浏览器前缀,但Firefox 15和更新版本以及Opera也支持标准名称.

有可能仍然使用旧版浏览器的原因.一个原因是某些环境中某些重要的应用程序可能无法在较新版本的浏览器上运行. (或者当我遇到一些非常旧的版本时,我就被告知了这一点.)

点赞