主流浏览器内核及浏览器CSS兼容前缀

【前言】

       今天聊天有个之前的学生问了道面试遇到的问题:主流浏览器有哪些?内核?CSS兼容前缀?

       

【我的答复】

(1)五大主流浏览器:①IE;②Opera;③Chrome;④Sarafi;④FireFox

(2)CSS兼容前缀:

-webkit-  //Chrome,Safari
-moz-     //FireFox
-o-       //Opera
-ms-      //IE

 (3)内核:这个比较杂,网上答案也众说风云,这里我详细解析下。

【概论】

        浏览器内核(browser kernel)是浏览器最为核心的部分。国内的浏览器(诸如360,QQ,搜狗)大多数用了第三方的内核,不同的只是外观以及一些装饰性的功能罢了。(有些浏览器是双核模式,标准模式下是chrome的内核,兼容模式下是IE的内核,用以向下兼容旧网页,诸如360浏览器)

【详解】

        浏览器的内核是分为两个部分的,一是渲染引擎,负责生成DOM树,render,repaint这些工作;另一个是JS引擎,负责JS的解释执行。现在JS引擎比较独立,内核更加倾向于说渲染引擎。

        下面说下各个内核,以下为网上查阅资料

(1)Trident(译为三叉戟)内核:

       Trident是IE的内核,也就是国内双核浏览器的内核之一。Trident内核一直延续到IE11,IE11的后继者Edge采用了新内核EdgeHTML。

       代表作品是IE,因IE捆绑在Windows中,所以占有极高的份额,又称为IE内核或MSHTML,此内核只能用于Windows平台,且不是开源的。

       代表作品还有腾讯、Maxthon(遨游)、360浏览器等。但由于市场份额比较大,曾经出现脱离了W3C标准的时候,同时IE版本比较多,存在很多的兼容性问题。

(2)Gecko(译为壁虎)内核:

       代表作品是Firefox,即火狐浏览器。因火狐是最多的用户,故常被称为firefox内核它是开源的,最大优势是跨平台,在Microsoft Windows、Linux、MacOs X等主要操作系统中使用。

       Mozilla是网景公司在第一次浏览器大战败给微软之后创建的。有兴趣的同学可以了解一下浏览器大战

(3)Webkit(译为网络工具包)内核:

       代表作品是Safari、曾经的Chrome,是开源的项目

(4)Presto(译为急板)内核:

       代表作品是Opera,Presto是由Opera Software开发的浏览器排版引擎,它是世界公认最快的渲染速度的引擎。在13年之后,Opera宣布加入谷歌阵营,弃用了Presto 。

      Opera浏览器的内核最初是Presto,前几年宣布使用Google的开源项目Webkit作为自己的内核,没过多久,又跟随Google使用Blink内核

(5)Blink(译为眨)内核:

       由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。

       这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支。

       谷歌还开发了自己的JS引擎,V8,使JS运行速度极大地提高了。在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用(其自己开发的渲染引擎Bilnk和JS的V8引擎)。谷歌在Chromium Blog上发表博客 ,称将与苹果的开源浏览器核心Webkit分道扬镳。在Chromium项目中研发Blink渲染引擎(即浏览器核心),内置于Chrome浏览器之中。

【总结】

(1)最后简单总结罗列下

①Trident----IE----(-ms-)-----------不是开源且不能跨平台,只能用于windows

②Gecko--FireFox--(-moz-)-------开源且可以跨平台,用于Windows、Linux、MacOs X等平台

③Webkit---Chrome(28之前的旧版本)和Safari--(-webkit-)---开源项目,跨平台

④Presto---Opera---(-o-)------------渲染速度最快的引擎

⑤Blink---Google和Opera Software、Chrome(28之后的新版本)软件

(2)许多同学容易将Google和Chrome记混,这里区别说明下

google是世界最大的搜索引擎谷歌,chrome是google旗下开发的一款浏览器

(3)WebKit内核常见的浏览器:傲游浏览器3、 Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器