css3中-moz、-ms、-webkit,-o分别代表的意思,以及微信浏览器内核分析

2017-04-12 15:56:23 css

这种方式在业界上统称:识别码、前缀

//-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-”。