浏览器兼容性——浏览器内核

一、浏览器内核简介

浏览器内核主要指渲染引擎,渲染引擎决定了浏览器如何显示网页的内容和页面的格式信息。不同浏览器内核对网页编写语法的解析也有所不同,因此同网页在不同内核浏览器里的展示效果也可能不同。主流的四大浏览器内核为:

1、Trident内核:IE、搜狗(兼容模式)、360安全/极速(兼容)、UC(兼容)、QQ浏览器(普通)

是一款开发的内核,接口内核设计相当成熟,但对真正的网页标准支持不太友好,同时存在许多安全bug。目前只能用于Windows平台。

2、Gecko内核:Mozilla 、Firefox、Goodle Gadget

是开放源代码,以C++编写的网页排版引擎。功能强大,丰富,可以支持很多复杂网页效果和浏览器扩展接口,但是会消耗很多资源,比如内存等)

3、WebKit内核:Safari、Chrome、360安全/极速(高速模式)、搜狗(高速)、UC(高速)、QQ浏览器(极速)

包含WebCore排版引擎及JavaScriptCore解析引擎,为自由软件,开放源代码。拥有清晰的源码结构、极快的渲染速度,兼容性一般。

4、Presto内核:Opera

动态内核,浏览网页速度很快,处理JS脚本所需时间仅有Trident和Gecko内核的1/3,但网页兼容性差,目前貌似已经废弃。

5、Blink内核:

这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。

二、浏览器兼容性问题

前缀-webkit   浏览器chrome和safari

        -moz                 firefox

        -ms                   ie

        -o                      opera

以上前缀是浏览器私有前缀,是浏览器对于新CSS属性的一种提前支持。对于新属性s3c会走很复杂的程序为之制定标准,但浏览器商不愿等太久,于是便提前在浏览器中加入支持。但为避免日后w3c公布标准时有所变更,所以就加入一个私有前缀。

比如:chrome10不认border-radius这种写法,但chrome12就能认,这样用webkit-border-radius就能确保10和12浏览网页时候都可以正确显示了。


你可能感兴趣的:(浏览器兼容性)