我什么时候需要使用供应商前缀?

时间:2014-01-31 12:52:44

标签: css3 cross-browser

我应该何时使用-webkit-moz-o等前缀?

1 个答案:

答案 0 :(得分:2)

带前缀的CSS属性意味着这是早期的浏览器实现。在几个浏览器实现任何带前缀的css功能后(依赖于不推荐的W3C规范)W3C修复规范中的任何差异或错误,其中在实现过程和CSS功能中查找成为W3C推荐。

例如,前缀为linear-gradient的语法带有前缀:

background: -o-linear-gradient(top, #3DC8FF 0%, #008CC3 100%);
background: -moz-linear-gradient(top, #3DC8FF 0%, #008CC3 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #3DC8FF), color-stop(100%, #008CC3));
background: -webkit-linear-gradient(top, #3DC8FF 0%, #008CC3 100%);

并且没有:

background: linear-gradient(to bottom, #3DC8FF 0%, #008CC3 100%);

正如您所看到的,第一个参数已更改:如果您想要从上到下的渐变,则需要top值作为前缀css值,to bottom表示W3C线性渐变推荐值。

因此,对于没有固定值的旧浏览器版本或者没有W3C recommended specification并且实现依赖W3C draft的css属性,您需要前缀。

作为前端开发人员,您必须支持现代和旧版本的许多浏览器,您的css包含前缀为Opera( - o),Firefox( - moz)和Chrome,{的属性{1}}( - WebKit的)

还有移动浏览器。现在,您需要为移动设备使用Safari前缀,因为-webkit例如仅使用带前缀的css属性。 Mobile Safari(14版之前的Opera Mobile)移动浏览器未更新,并且始终具有-o前缀的css属性。