我正在尝试清理 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 忽略前缀属性名称,这不会阻止使用它的页面正常工作,前提是它们还使用标准名称设置属性。
相比之下,例如,非常有用的 hyphens
属性目前没有支持,除了作为浏览器前缀。再举一个例子,border-image
大多只支持作为浏览器前缀,尽管 Firefox 15 和更新版本以及 Opera 也支持标准名称。
旧版浏览器仍在使用的原因有很多。一个原因是某些在某些环境中很重要的应用程序可能无法在较新版本的浏览器上运行。 (或者当我遇到一些正在使用的非常旧的版本时,有人告诉我。)
关于css - 我们是否仍应使用 -webkit- 和 -moz- 来获取已识别的 CSS3 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658321/