各大浏览器内核特性及对应的Browserhacks举例

1.浏览器内核指的是什么?

简化的浏览器=用户界面+渲染引擎+js解析引擎+数据存储+网络部件

而通常所说的浏览器内核指的是页面渲染引擎(rendering engine)。

2.渲染引擎 The rendering engine

渲染引擎的职责就是渲染,即在浏览器窗口中显示所请求的内容。

默认情况下,渲染引擎可以显示html、xml文档及图片,它也可以借助插件(一种浏览器扩展)显示其他类型数据,例如使用PDF阅读器插件,可以显示PDF格式。

各大厂商依据W3C标准有各自的代码实现,开发了很多种渲染引擎。

浏览器内核 代表浏览器

Trident(IE)

 IE4~IE9,Maxthon,The World(世界之窗),还有很多含兼容浏览模式的浏览器

Gecko(火狐)

Netscape,Mazilla Firefox(火狐)

Presto(已过时)

Opera7.0+,NDSBrowser,Wii Internet Channle

Webkit/Chromium

 Apple Safari 、Android 默认浏览器、Chrome(谷歌浏览器)

360、QQ、遨游、搜狗浏览器、Opera现在也转投webkit了

Blink

由谷歌开发基于webkit, 安卓4.4+以上内置浏览器、微信/QQ/内置浏览器
浏览器内核  内核特性

Gecko(火狐)

 Gecko的特点是代码完全公开,跨平台

Webkit/Chromium

 目前使用最广的内核。Chromium是谷歌基于Webkit进一步改进的内核。Chromium支持了多线程的HTML解析。

Blink

Blink是webkit的升级版本,安卓4.4+以上内置浏览器、微信/QQ/内置浏览器就是这个

目前的主流趋势是基于开源引擎的渲染引擎越来越繁荣,并呈现出百家齐放的状态,而移动端由于性能要求更苛刻,诞生出更多优秀的引擎。

未来优秀的引擎应该具备:开源、跨平台、高度符合W3C标准的特征。

3.浏览器CSS hack及js hack 举例

某些浏览器对某些CSS的语法不同、效果不一样、甚至不支持一些新特性,为了浏览器兼容(在不同浏览器下显示效果一致),需要Browserhacks技术。

  1. /* CSS hack*/

使用hacker我可以把浏览器分为3类:IE6 ;IE7和遨游;其他(IE8 chrome ff safari opera等)

◆IE6认识的hacker 是下划线_ 和星号 *

◆IE7 遨游认识的hacker是星号 *

比如有这样一个3段相连CSS设置:

  1. height:300px;*height:200px;_height:100px;

IE6下:height=300px->200px->100px; (css一路覆盖至最后)

IE7下:height=300px->200px;(最后一个不认识)

其他浏览器:height:300px;(后面两个不认识)

更多css hack见这篇文章

  2./* JS hack*/

通过js来判断当前浏览器。

  1.利用userAgent属性值

  1. /* Firefox */
    var isFF = !!navigator.userAgent.match(/firefox/i);  

    但大多浏览器都提供userAgent自定义修改,所以并不可信

  2. 利用浏览器特有对象
/*IE<7*/
 var isIE = document.all && !document.querySelector;
 /*IE8~10*/
var isIE = document.all && document.querySelector;

 /*IEversion*/
 var ieVersion = /*@cc_on (function() {switch(@_jscript_version) {case 1.0: return 3; case 3.0: return 4; case 5.0: return 5; case 5.1: return 5; case 5.5: return 5.5; case 5.6: return 6; case 5.7: return 7; case 5.8: return 8; case 9: return 9; case 10: return 10;}})() || @*/ 0;

  /*firefox*/
var isFF = !!window.sidebar;
 /* Chrome , Opera ≥ 14  , Android 4.0.4*/
 var isChromium = !!window.chrome;

/*Webkit*/
 var isWebkit = ‘WebkitAppearance‘ in document.documentElement.style;

 /*Opera ≤ 9.64*/
 var isOpera = /^function \(/.test([].sort);
/*Opera */
 var isOpera = !!window.opera;

 /*Safari*/
 var isSafari = /constructor/i.test(window.HTMLElement);

更多js hack见http://browserhacks.com/

4.另外还有 Media Queries“媒体查询”(我的理解是屏幕适配)

常用的语法有:

1.为不同的屏幕类型写css,放在html头

<link href="css/reset.css" rel="stylesheet" type="text/css" media="screen" />

<link href="css/style.css" rel="stylesheet" type="text/css" media="all" />

<link rel="stylesheet" media="handheld and (max-width:480px), screen and (min-width:960px)" href="small.css" />

2.样式文件中使用:
   @media screenand and(max-width: 600px){
     选择器{
    属性:属性值;
     }
   }

参考文章

http://www.iplaysoft.com/browsers-engine.html

http://www.cnblogs.com/zfc2201/archive/2012/07/14/2591108.html

http://www.cnblogs.com/asqq/archive/2012/04/13/2445912.html

时间: 2024-10-12 03:32:09

各大浏览器内核特性及对应的Browserhacks举例的相关文章

第二天-5大浏览器内核和浏览器的组成

5大浏览器内核 1.IE:Trident内核 2.Chrome:Webkit/Blink 3.Firefox:Gecko 4.Safari:Webkit 5.Opera:Webkit/Blink 浏览器的组成 shell+内核 原文地址:https://www.cnblogs.com/wpTing/p/12585133.html

各大浏览器内核介绍(Rendering Engine)

在介绍各大浏览器的内核之前,我们先来了解一下什么是浏览器内核. 所谓浏览器内核就是指浏览器最重要或者说核心的部分"Rendering Engine",译为"渲染引擎".负责对网页语法的解析,比如HTML.JavaScript,并渲染到网页上.所以浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定这浏览器如何显示页面的内容和页面的格式信息.不同的浏览器内核对语法的解释也不相同,因此同一的网页在不同内核的浏览器显示的效果也会有差异.这也就是网页编写者在不同内核的浏览器

各大浏览器内核(Rendering Engine)

记得刚开始写网页的时候,听童鞋们说各大浏览器的内核,也是懵懵懂懂的,知一不知其二,今天特地查一下: 内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用).它负责取得网页的内容(HTML.XML.图像等等).整 理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机.所有网页浏览器.电子邮件客户端以及其它需要编辑.显示网络内容的应 用程序都需要排版引擎. 浏览器最重要或者说核心的部分是“

各大浏览器内核分析

内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用).它负责取得网页的内容(HTML.XML.图像等等).整 理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机.所有网页浏览器.电子邮件客户端以及其它需要编辑.显示网络内容的应 用程序都需要排版引擎. 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”.

各大浏览器的内核

各大浏览器内核(Rendering Engine) 内核只是一个通俗的说法,其英文名称为"Layout engine",翻译过来就是"排版引擎",也被称为"页面渲染引擎"(下文中各种说法通用).它负责取得网页的内容(HTML.XML.图像等等).整 理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机.所有网页浏览器.电子邮件客户端以及其它需要编辑.显示网络内容的应 用程序都需要排版引擎. 浏览器最重要或者说核心的部分是

各大浏览器及其内核

平时我们所说的浏览器内核,一般是指一个浏览器最核心的部分--"Rendering Engine",直译过来也就是"渲染引擎",也被称为"排版引擎"."解释引擎".主要就是对网页语法的解释(HTML.JavaScript),以及完成对网页的渲染和显示.取得网页的内容.整理信息.以及计算网页的显示方式,然后会输出至显示器或者打印机.不仅仅是浏览器,以及电子邮件客户端和其他需要编辑显示网络内容的应用程序都是需要"排版引擎&

各主流浏览器内核介绍

所谓的"浏览器内核"无非指的是一个浏览器最核心的部分--"Rendering Engine",直译这个词汇叫做"渲染引擎",不过我们也常称其为"排版引擎"."解释引擎".这个引擎的作用是帮助浏览器来渲染网页的内容,将页面内容和排版代码转换为用户所见的视图. 注:有时候我们所说的"浏览器内核"甚至"渲染引擎",其实除了渲染引擎,也悄悄包含了javascript引擎,如W

常见浏览器内核概述

一. 浏览器内核[Rendering Engin] (排版引擎/渲染引擎/解释引擎) 概述what? 负责对网页语法的解释并渲染网页,将网页的代码转换为终于可见的页面形式,而且决定浏览器怎样显示网页的内容以及页面的格式信息. 不同浏览器内核对网页编写语法的解释也有不同,故同一网页在不同内核浏览器中渲染效果也不尽同样,这就须要网页编写者在不同内核浏览器中測试网页显示的效果. 为什么会排版错位呢? 因为浏览器内核负责渲染网页内容的,进行排版.因此必定会出现排版错位等问题. 造成此现象的原因有:站点本

各大浏览器兼容性问题总结

阅读目录 1. Web标准以及W3C 2. 主流浏览器内核 3. 标准模式(Standards Mode)和怪异模式(Quirks Mode) 4. CSS盒模型 5. 重置浏览器样式 6. HTML语义化 7. CSS选择器的优先级 8. 双外边距浮动问题 9. 3像素问题 10. IE6不支持min-* 11. IE6不支持png-24透明图片 12. IE6不能定义1px左右宽度的容器 13. IE5~8不支持opacity 14. Firefox点击链接出现的虚线框 15. 外边距叠加