我对转换的CSS供应商前缀有疑问。
This source声明“您需要使用所有常用前缀才能在所有浏览器中使用(-o - , - webkit - , - moz - , - ms - )”。
That page仅显示-webkit-
和-moz-
前缀,并声称IE 10 +,FF 16+和Opera 12.1+可以读取前缀免费版本。
在Twitter Bootstrap的代码中,除了未加前缀的版本之外,始终存在-webkit-
,-moz-
和-o-
前缀版本。
我应该使用哪些前缀?
答案 0 :(得分:28)
http://caniuse.com/#search=transition表示现代浏览器需要-webkit-和plain属性。
-webkit-transition: all .5s ease;
transition: all .5s ease;
但如果你添加所有这些都没有问题,只要确保没有前缀的属性是最后一个。
编辑:如下面的评论中所述,如果您点击“所有版本”,您可以看到每个浏览器何时删除前缀。目前最好还使用-moz-和-o-。
编辑2015年5月:我强烈建议您使用Autoprefixer作为构建过程的一步(如Gulp / Grunt任务)或作为代码编辑器的插件。它在caniuse.com浏览器支持统计信息上提供自动添加前缀。
答案 1 :(得分:13)
transition
。截至目前,所有供应商前缀都应该用于CSS3过渡。例如,
-webkit-transition: all 500ms;
-moz-transition: all 500ms;
-o-transition: all 500ms;
transition: all 500ms;
答案 2 :(得分:0)
帮自己一个忙,然后下载Prefix Free。这是一个微不足道的JavaScript,它允许您使用几乎任何需要前缀的属性,没有前缀(包括转换,动画和媒体查询)。
编辑:所有这一切的唯一例外是Opera的媒体查询,其中像素比率(没有别的)必须表示为分数而不是小数。
答案 3 :(得分:0)
这取决于您要使用的CSS属性。 Mozilla在摆脱许多属性的前缀方面做得很好。但你无法告诉所有属性现在都是免费的。我听到Chrome团队的消息,他们想要使渐变无前缀。我不知道Opera,但Internet Explorer 10需要-ms
前缀用于许多CSS3属性。
我想说今天你应该只添加前缀。但未来不会是这样的!
答案 4 :(得分:0)
-webkit-当然,还有无前缀版本。
所有其他浏览器都移动了无前缀属性(如Firefox或Opera),或从未使用它们(如IE)
我建议您定期查看CanIUse.com以获取最新信息。
答案 5 :(得分:0)
我会在这里反对并建议采用不同的方法:如果您设置了一个包含分析的网站,请检查浏览器统计信息和版本,并查看您的用户实际使用的内容。
当然,您可以删除大部分前缀,但如果您的用户使用过时的浏览器(无论出于何种原因),他们将无法获得这些功能。
任意网站都无法告诉您您
如果您没有数据,请添加所有前缀以支持尽可能多的人。然后在几个月内检查数据,并在需要时进行重构。