作為新手,有的時候在寫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私有屬性
CSS屬性需要帶各瀏覽器的前綴,下面介紹一些常用的需要加上前綴的屬性(新增屬性):(具體的屬性請參考鏈接:http://css.doyoe.com/ 里面所有橙色顯示的屬性都需要加前綴)
box-shadow,border-radius,background-origin,background-clip,text-shadow,zoom,transform,transition,animation.....
其實這些屬性前綴的問題現在不是太大的問題了,因為會有一些工具替我們去解決,比如下面這款插件:
Autoprefixer是一款自動管理瀏覽器前綴的插件,它可以解析CSS文件並且添加瀏覽器前綴到CSS內容里,使用Can I Use(caniuse網站)的數據來決定哪些前綴是需要的。
把Autoprefixe添加到資源構建工具(例如Grunt)后,可以完全忘記有關CSS前綴的東西,只需按照最新的W3C規范來正常書寫CSS即可。如果項目需要支持舊版瀏覽器,可修改browsers參數設置。
Autoprefixer不僅會為你的屬性加上前綴,還會修復語法差異,清理過期的前綴。具體使用方法請參考文章:http://www.bcty365.com/content-146-5024-1.html