浏览器内核分类
现在市面上五花八门的浏览器一大堆,包括移动端的。作为前端开发者,要处理好兼容各个浏览器也是比较头疼的事。我根据个人的了解和查找资料,整理一下目前主流的浏览器内核。
1.Trident内核
Trident内核也就是我们常说的IE内核,最具代表性的当然就是IE浏览器了。Trident(又称为MSHTML),是微软开发的一种排版引擎。它在1997年10月与IE4一起诞生,一直在被不断地更新和完善。
目前使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器以及360浏览器、搜狗浏览器都带有ie内核等。
对于ie浏览器,低版本的ie浏览器对css3的新属性不能很好的支持,ie9+才可以支持个别的属性,一些能支持的属性也要加个前缀-ms-。
windowsphone手机自带的ie浏览器也是ie10+的,因此在开发移动端中需要兼容wp手机的就要注意哪些新属性在ie10+中不支持的要尽量的避免使用。wp手机中的浏览器都会优先调用ie内核,像uc浏览器调用的ie内核就是在ie8以下的,兼容性极差。
2.WebKit内核
webkit内核可以说是目前非常主流的内核了,主要代表产品有Safari和Google的浏览器Chrome。在移动端几乎是webkit的天下了,Google的Android平台浏览器、Apple的iPhone浏览器、Nokia S60浏览器等所使用的浏览器内核引擎,都是基于WebKit引擎的。我们最熟悉的微信内置的浏览器的内核也是基于webkit深度优化的增强内核,搭载在手机qq浏览器上。对于移动端的开发大部分的需求都需要兼容微信浏览器,对于css3的属性加个前缀-webkit-即可。
3.Gecko内核
Gecko内核最具代表性的就是火狐浏览器了。Gecko是由Mozilla基金会开发的布局引擎的名字。它原本叫作NGLayout。Gecko的作用是读取诸如HTML、CSS、XUL和JavaScript等的网页内容,并呈现到用户屏幕或打印出来。Gecko已经被许多应用程序所使用,包括若干浏览器,例如Firefox、Mozilla Suite、Camino等等。
市面上Gecko内核的浏览器主要分两类,一类是以Mozilla Firefox为代表的,用XUL作为界面描述语言的浏览器:这类浏览器往往继承了Firefox扩展性好的优点,早前的Madfox和Albatross就是这一类型的浏览器。所以,Gecko内核也被称为Firefox内核。
另一类是使用本地图形库作为界面的Gecko内核的浏览器:其中有Linux平台上epiphany、Galeon等;在win32上由Orca Browser、K-Meleon等。
在兼容css3属性前面需要加前缀-moz-。
4.Presto内核
Presto内核最具代表性的就是opera浏览器了。Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。Presto的特点就是渲染速度的优化达到了极致,它是目前公认的网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。在兼容css3属性前面需要加前缀-o-。
下次整理一下内核不兼容的一下常用属性,避免开发过程中使用后兼容性不高。
若有说错的地方还请指正!