css3中-moz、-ms、-webkit,-o分别代表的意思,以及微信浏览器内核分析
这种方式在业界上统称:识别码、前缀
//-ms代表【ie】内核识别码
//-moz代表火狐【firefox】内核识别码
//-webkit代表谷歌【chrome】/苹果【safari】内核识别码
//-o代表欧朋【opera】内核识别码
用法:
-ms-transform:rotate(7deg);
-moz-transform:rotate(7deg);
-webkit-transform:rotate(7deg);
-o-transform:rotate(7deg);
transform:rotate(7deg); //统一标识语句,符合w3c标准
为什么要加识别码:
在标准还未确定时,部分浏览器已经根据最初草案实现了部分功能,为了与之后确定下来的标准进行兼容,所以每种浏览器使用了自己的私有前缀与标准进行区分,当标准确立后,各大浏览器将逐步支持不带前缀的css3新属性。
目前已有很多私有前缀可以不写了,但为了兼容老版本的浏览器,可以仍沿用私有前缀和标准方法,逐渐过渡。
再进一步看前缀对应的内核:
上面说了-webkit对应的是谷歌/苹果的内核,这样的说法是不够具体的,下面是更正后的说法:
Gecko内核,css前缀为"-moz-",火狐浏览器
WebKit内核,css前缀为"-webkit-",Comodo Drangon(科摩多龙),苹果,安卓,搜狗高速浏览器3,快快浏览器,枫树浏览器,云游浏览器,360极速浏览器,世界之窗极速版,SRWare Iron,猎豹浏览器,RockMelt,QQ浏览器
Blink内核,css前缀为"-webkit-",Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google的新内核,支持以前的全部前缀
关于Blink内核前缀问题,参考:
http://www.chromium.org/blink/developer-faq
https://segmentfault.com/q/1010000000260361
Presto内核,css前缀为"-o-",Opera(欧朋),NDSBrowser
Trident内核,css前缀为"-ms-",IE,360极速浏览器,猎豹安全浏览器,傲游浏览器,百度浏览器,世界之窗浏览器,2345浏览器,腾讯TT,淘宝浏览器,采编读浏览器,搜狗高速浏览器,阿云浏览器,瑞星安全浏览器,Slim Browser,GreenBrowser、爱帆浏览器,115浏览器,155浏览器,114浏览器,N氧化碳浏览器,糖果浏览器,彩虹浏览器,瑞影浏览器,勇者无疆浏览器,闪游浏览器,蚂蚁浏览 器,飞腾浏览器,速达浏览器,佐罗浏览器,海豚浏览器(iPhone/iPad/Android),UC浏览器
KHTML内核,css前缀为"-khtml-",苹果浏览器之前的版本,后改为WebKit内核
参考:
http://jingyan.baidu.com/article/91f5db1bcc7a8f1c7e05e377.html
http://baike.baidu.com/view/1369399.htm
再来看下微信的浏览器内核:
iOS版的微信都是采用webkit内核,包括android版本的X5内核,是以webkit内核,但是有些兼容问题,比如不制止flex这些。
X5内核在最近做了一个升级,全面使用Google的新内核Blink,不过前缀不变,还是采用“-webkit-”。