我有一个网站,我支持IE8,没有进一步。
当我第一次推出该网站时,我决定使用CSS供应商前缀用于CSS元素,例如border-radius,box-shadow等。我是从完全的noob角度做到的。
然而,更好的方法是不使用它们,只是让浏览器赶上而不是为了统一而修补?
答案 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-radius
,box-shadow
等。您必须测试每个元素的行为方式没有这些属性。例如。你有一个border-radius: 4px
的按钮。在不支持border-radius的浏览器中,它只会有粗糙的角落。你必须考虑它的价值是否值得牺牲。
答案 3 :(得分:1)
我们的方法是放弃那些不需要的东西。
边界半径
box-shadow
box-sizing(很快?firefox仍在使用它。由@James Donnelly注意到)
不透明度(不是前缀,但不需要ms-filter thingie)
内联块(此处相同,无需内联+缩放修复)