css - 我们是否仍应使用 -webkit- 和 -moz- 来获取已识别的 CSS3 属性?

标签 css vendor-prefix

我正在尝试清理 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/

相关文章:

css - 使用浏览器前缀覆盖 CSS

html - 在所有屏幕尺寸上将图像 block 居中

css - 使用 D3 进行通配符选择

html - 在自动填充容器中居中网格元素

c# - 如何将 CSS 添加到另一个对象的一部分?

css - 在 CSS 中指定边距和填充的正确方法是什么?

css - 我应该相信 Chrome 的审核工具吗?

browser - 我们是否必须再使用非标准/浏览器特定的 CSS 供应商前缀?

webpack - 如何在样式组件配置中禁用 vendor 前缀?

internet-explorer - CSS - border-radius 在 IE6/7/8 中不显示