CSS 3 - 过渡前缀 - 使用哪些?

时间:2013-01-15 00:08:08

标签: css css3 css-transitions transitions

我对转换的CSS供应商前缀有疑问。

This source声明“您需要使用所有常用前缀才能在所有浏览器中使用(-o - , - webkit - , - moz - , - ms - )”。

That page仅显示-webkit--moz-前缀,并声称IE 10 +,FF 16+和Opera 12.1+可以读取前缀免费版本。

在Twitter Bootstrap的代码中,除了未加前缀的版本之外,始终存在-webkit--moz--o-前缀版本。

我应该使用哪些前缀?

6 个答案:

答案 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以获取最新信息。

http://caniuse.com/#feat=css-transitions

答案 5 :(得分:0)

我会在这里反对并建议采用不同的方法:如果您设置了一个包含分析的网站,请检查浏览器统计信息和版本,并查看您的用户实际使用的内容。

当然,您可以删除大部分前缀,但如果您的用户使用过时的浏览器(无论出于何种原因),他们将无法获得这些功能。

任意网站都无法告诉您

如果您没有数据,请添加所有前缀以支持尽可能多的人。然后在几个月内检查数据,并在需要时进行重构。