我应该删除供应商前缀吗?

时间:2013-10-17 07:58:36

标签: css css3 vendor-prefix

我有一个网站,我支持IE8,没有进一步。

当我第一次推出该网站时,我决定使用CSS供应商前缀用于CSS元素,例如border-radius,box-shadow等。我是从完全的noob角度做到的。

然而,更好的方法是不使用它们,只是让浏览器赶上而不是为了统一而修补?

4 个答案:

答案 0 :(得分:6)

不,你不应该删除所有,但你也可以删除那些不再需要的

如何找出不再需要哪些前缀?

Can I use...是检查浏览器对各种CSS,HTML和JavaScript功能的支持的绝佳资源。例如,如果您搜索box-sizing,它会告诉您所有现代浏览器都有部分支持,并且Firefox需要-moz-前缀。您还可以在一页here上查看所有CSS支持表。

我如何澄清不再需要前缀?

有几个在线资源显示有关浏览器使用情况的信息。一个例子是StatCounter。 StatCounter提供浏览器版本统计信息,可以按时过滤。如果我们查看last 3 months,我们可以猜测我们仍然应该支持Firefox 20 +,Chrome 25 +,IE 8+和Safari 5.1 +。

答案 1 :(得分:2)

就个人而言,我现在只保留您的供应商前缀 - 这仍然是专业实践 - 那些不需要它们的浏览器,无论如何都会忽略它们。

答案 2 :(得分:1)

如果您真的想摆脱前缀,可以尝试的解决方案之一是-prefix-free。它是一个javascript插件,循环遍历您的样式表,并根据当前浏览器删除未使用的样式 虽然我没有测试它,但我认为它会明确地降低性能

您还可以删除对于功能和/或用户体验没有signifact含义的属性的前缀,例如border-radiusbox-shadow等。您必须测试每个元素的行为方式没有这些属性。例如。你有一个border-radius: 4px的按钮。在不支持border-radius的浏览器中,它只会有粗糙的角落。你必须考虑它的价值是否值得牺牲。

答案 3 :(得分:1)

我们的方法是放弃那些不需要的东西。

边界半径
box-shadow

box-sizing(很快?firefox仍在使用它。由@James Donnelly注意到)

不透明度(不是前缀,但不需要ms-filter thingie)
内联块(此处相同,无需内联+缩放修复)