CSS3中有一些功能还在开发中,还没有制定统一标准达到使用的目的。对于这些属性,不同浏览器有不同的实现标准,因此对于不同的浏览器内核,必须在这些没有统一标准的属性名前加上前缀来进行区分。

以下是目前各主流浏览器内核的前缀:

前缀

内核

主流浏览器

-ms-

Trident

IE

-moz-

Mozilla

Firefox

-o-

Presto

Opera

-webkit-

Webkit

Safari, Chrome

 

 

 

 

 

 

 

 

注:

例如使用CSS3transition属性时,要使这个属性在各浏览器上起作用就必须重复写上不同前缀的版本。

-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;

注:在有前缀的语句写完后,最好在最后面写上一个无前缀的版本。当标准制定完成后,在后面属性值会替换掉前面带有前缀的版本,保证你的页面能够使用该属性的W3C标准。

在以下网址可以查看CSS3的开发进度,其中达到Recommendation的就是已经成熟可以投入使用中了:http://www.w3.org/Style/CSS/current-work

以下网址可以查看各浏览器内核前缀的支持情况:http://peter.sh/experiments/vendor-prefixed-css-property-overview/

之所以要加前缀是因为这些属性还处于开发状态,如果不使用,那么在某些浏览器中可能导致你的页面出现无法理解的问题。使用前缀可以让你指定哪些浏览器可以使用这个属性,虽然现在编写起来不方便(同一语句要写上几遍),但相信这种痛苦也只是暂时的。在不久的将来,当标准制定完成后,这些前缀理所当然的可以将其去除,当然也可以不去改变它,到时一样能够起到原来的作用。

posted on 2013-02-14 12:16  RedHood  阅读(202)  评论(0编辑  收藏  举报