我正在尝试清理 CSS 文件,我想知道现在是否可以安全地删除供应商特定的属性,它们是否已经标准化(或至少是半标准化的)?
例如我还应该使用
-webkit-border-radius
-moz-border-radius
border-radius
还是简单地选择更好
border-radius
?
我正在尝试清理 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
属性目前除了浏览器前缀之外不支持。再举一个例子,border-image
虽然 Firefox 15 和更新版本以及 Opera 也支持标准名称,但大多数情况下仅支持浏览器前缀。
仍然可以使用旧版本的浏览器是有原因的。一个原因是某些在某些环境中很重要的应用程序可能无法在较新版本的浏览器上运行。(或者当我遇到一些非常旧的版本在使用时,我被告知。)
是的,我会说坚持下去。除非你确定 X 浏览器已经标准化。根据 w3schools 的说法,所有主流浏览器都支持border-radius
,但它不是提供此类信息的可信站点。
为什么不测试一下?
使用前者以获得向后兼容性支持。
-webkit-border-radius
-moz-border-radius
border-radius