css3樣式前綴有:1、“-moz-”,代表firefox瀏覽器私有屬性;2、“-ms-”,代表IE瀏覽器私有屬性;3、“-webkit-”,代表safari、chrome私有屬性;4、“-o-”,代表Opera私有屬性。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
CSS3樣式中的前綴問題
作為新手,有的時候在寫css時分不清什么屬性需要用到前綴,或者用什么前綴,下面是我平時學習的一些總結。
在了解這些前綴之前,先介紹一下各大主流瀏覽器的內核:
-
IE——trident(國內很多雙核瀏覽器的其中一核就是trident)
-
Opera——Blink(presto已廢棄)
-
chrome——Blink(之前是webkit)
-
Firefox——Gecko
-
Safari——webkit(Android手機使用頻率最高的也是webkit內核)
而每個內核都有自己的前綴:
-
Trident內核:前綴為-ms-
-
Gecko內核:前綴為-moz-
-
Presto內核:前綴為-o-
-
Webkit內核:前綴為-webkit-
所以:
-
-moz- 代表firefox瀏覽器私有屬性
-
-ms- 代表IE瀏覽器私有屬性
-
-webkit- 代表safari、chrome私有屬性
-
-o- 代表Opera私有屬性
示例:寫一個圓角border-radius,需要這樣寫:
.box { -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; }
那么為什么要有私有前綴呢?
因為制定HTML和CSS標準的組織W3C動作是很慢的。通常,有w3c組織成員提出一個新屬性,比如說圓角border-radius,大家都覺得好,但是w3c不會為這個屬性制定標準,而是要走很復雜的程序,經過很多審查。而瀏覽器商不愿意等那么久,他們覺得一個屬性已經夠成熟了,就會在瀏覽器中加入支持。
但是避免日后w3c公布標準時有所變更,就會加入一個私有前綴,比如-webkit-border-radius,通過這種方式來提前支持新屬性,等到日后w3c公布了標準,border-radius的標準寫法確立之后,再讓新版的瀏覽器支持border-radius這種寫法。
(學習視頻分享:css視頻教程、web前端)