瀏覽器引擎前綴,是一些放在CSS屬性前的小字符串,用來確保這種屬性只在特定的瀏覽器渲染引擎下才能識別和生效。谷歌瀏覽器和 Safari瀏覽器使用的是WebKit渲染引擎,火狐瀏覽器使用的是Gecko引擎,Internet Explorer使用的是Trident引擎,Opera以前使用Presto引擎,后改為WebKit引擎。一種瀏覽器引擎里一般不實現其它引擎前綴標 識的CSS屬性,但由于以WebKit為引擎的移動瀏覽器相當流行,火狐等瀏覽器在其移動版里也實現了部分WebKit引擎前綴的CSS屬性。

瀏覽器引擎前綴(Vendor Prefix)有哪些?

-moz-    /* 火狐等使用Mozilla瀏覽器引擎的瀏覽器前綴 */
-webkit-  /* Safari,谷歌瀏覽器等使用Webkit引擎的瀏覽器的前綴*/
-o-     /* Opera瀏覽器(早期)前綴 */
-ms-    /*不一定)IE瀏覽器前綴 */

為什么需要瀏覽器引擎前綴?

這些瀏覽器引擎前綴(Vendor Prefix)主要是各種瀏覽器用來試驗或測試新出現的CSS3屬性特征。可以總結為以下3點:

1、試驗一些還未成為標準的的CSS屬性——也許永遠不會成為標準

国产视频app 2、對新出現的標準的CSS3屬性特征做實驗性的實現

国产视频app 3、對CSS3中一些新屬性做等效語義的個性實現

瀏覽器前綴的寫法

国产视频app 比如CSS中border-radius屬性在加入前綴的寫法

CSS瀏覽器前綴兼容寫法,如何處理CSS3屬性前綴,火狐瀏覽器的前綴,firefox瀏覽器的前綴,谷歌瀏覽器的前綴,ie瀏覽器的前綴

-moz-border-radius: 10px; 
-webkit-border-radius: 10px; 
-o-border-radius: 10px; 
border-radius: 10px;

国产视频app 注意:這些前綴并非所有都是需要的,但通常你加上這些前綴不會有任何害處——只要記住一條,把不帶前綴的版本放到最后一行

CSS中部份需要添加瀏覽器引擎前綴的屬性

@keyframes
移動和變換屬性(transition-property, transition-duration, transition-timing-function, transition-delay)
動畫屬性 (animation-name, animation-duration, animation-timing-function, animation-delay)
border-radius
box-shadow
backface-visibility
column屬性
flex屬性
perspective屬性

小知識

IE6到IE8都不支持CSS3,很遺憾的是,使用這些低版本瀏覽器的用戶還很多。所以,確保你的網站設計在不支持CSS3的情況下也能正常顯示。對于一些屬性:border-radius , linear-gradient, 和 box-shadow, 你可以使用CSS3Pie,它是一個很小的文件,把它放到你的網站的根目錄下,就能讓你的頁面中IE6,IE8中也支持這些屬性