浅谈浏览器的三种模式
2013-08-02 21:31
274 查看
首先我们应该要了解为什么会有多种浏览器模式——其实这是个历史遗留问题,在浏览器大战时期,网景浏览器(Netscape Navigator)和微软的IE浏览器(Microsoft Internet Explorer)对网页分别有不同的实现方式,那个时候的网页要针对这两种浏览器分别开发不同的版本。而到了 W3C 制定标准之后,这些浏览器就不能继续使用这种页面了,因而会导致大部分现有站点都不能使用。基于这个原因,浏览器才引入两种模式来处理一些遗留的站点。
现在的浏览器排版引擎支持三种模式:怪异(Quirks)模式、准标准(AlmosStandards)和标准(Standards)模式。在怪异模式中,排版引擎会模拟 网景4 和 Windows 中的 IE5 的行为;在完全标准的模式中,会尽量执行 HTML 和 CSS 规范所指定的行为;而在准标准模式中,则只包含很少的一部分怪异模式中的行为。
官方定义:
怪异(Quirks)模式:为了避免“破损”那些按照在20世纪90年代末风行的实践创作的页面,浏览器违背了现代的Web格局规范。不合的浏览器实现了不合的怪癖行动。IE6、7和8中,怪癖模式有效地冻结在IE5.5 。其他浏览器中,怪癖模式是标准模式的少量偏移。
准标准(AlmosStandards)模式: 它遵守传统的做法来实现表格单位格的垂直尺寸而不是严格的遵守CSS2规范,更接近Mozilla的准标准模式而不是Mozilla的标准模式。
标准(Standards)模式:浏览器按W3C标准规范解析执行代码.....
什么是DTD?
DTD——即DOCTYPE,或者称为 Document Type Declaration(文档类型声明,缩写DTD)通常情况下,DOCTYPE 位于一个 HTML文档的最前面的位置,位于根元素HTML的起始标签之前。这样一来,在浏览器解析 HTML 文档正文之前就可以确定当前文档的类型,以决定其需要采用的渲染模式(不同的渲染模式会影响到浏览器对于 CSS 代码甚至 JavaScript 脚本的解析)。XHTML1.0提供了三种DOCTYPE可选择:1、过渡型(Transitional )2、严格型(Strict )3、框架型(Frameset )。
触发三种模式的格式
标准模式
准标准模式
怪异模式
第一行不写,或写错DOCTYPE就能触发
三种模式下的表现差异:
首先,怪癖模式是不可取的,因为其没有兼容性可言。在IE(IE6-IE9)中,混杂模式使用IE5.5内核来解析并渲染页面。
其次,准标准
[b] 模式是在尽可能遵循标准的基础上兼容部分非标准代码,比如一些已经弃用的标签等。
最后,标准模式则是对统一标准实现最好的模式,它要求标
签必须闭合(唯一不需要闭合的就是DOCTYPE标签),不能使用已经废弃的标签等等。目前,使用最多的DOCTYPE声明为过渡型HTML或
XHTML,因为它能最大话的兼容一些老代码。不过,技术领先的公司(比如google、facebook、twitter等都如此)都已经使用了html5的
DOCTYPE声明,即<!DOCTYPE html>,它所触发的模式与严格型HTML或严格型XHTML所触发的模式完全相同,但好处是节省代码且向前兼
容(HTML5时代)。
[/b]
现在的浏览器排版引擎支持三种模式:怪异(Quirks)模式、准标准(AlmosStandards)和标准(Standards)模式。在怪异模式中,排版引擎会模拟 网景4 和 Windows 中的 IE5 的行为;在完全标准的模式中,会尽量执行 HTML 和 CSS 规范所指定的行为;而在准标准模式中,则只包含很少的一部分怪异模式中的行为。
官方定义:
怪异(Quirks)模式:为了避免“破损”那些按照在20世纪90年代末风行的实践创作的页面,浏览器违背了现代的Web格局规范。不合的浏览器实现了不合的怪癖行动。IE6、7和8中,怪癖模式有效地冻结在IE5.5 。其他浏览器中,怪癖模式是标准模式的少量偏移。
准标准(AlmosStandards)模式: 它遵守传统的做法来实现表格单位格的垂直尺寸而不是严格的遵守CSS2规范,更接近Mozilla的准标准模式而不是Mozilla的标准模式。
标准(Standards)模式:浏览器按W3C标准规范解析执行代码.....
什么是DTD?
DTD——即DOCTYPE,或者称为 Document Type Declaration(文档类型声明,缩写DTD)通常情况下,DOCTYPE 位于一个 HTML文档的最前面的位置,位于根元素HTML的起始标签之前。这样一来,在浏览器解析 HTML 文档正文之前就可以确定当前文档的类型,以决定其需要采用的渲染模式(不同的渲染模式会影响到浏览器对于 CSS 代码甚至 JavaScript 脚本的解析)。XHTML1.0提供了三种DOCTYPE可选择:1、过渡型(Transitional )2、严格型(Strict )3、框架型(Frameset )。
触发三种模式的格式
标准模式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!-- 严格履行 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- 兼容XHTML放弃的标签 -->
准标准模式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
怪异模式
第一行不写,或写错DOCTYPE就能触发
三种模式下的表现差异:
首先,怪癖模式是不可取的,因为其没有兼容性可言。在IE(IE6-IE9)中,混杂模式使用IE5.5内核来解析并渲染页面。
其次,准标准
[b] 模式是在尽可能遵循标准的基础上兼容部分非标准代码,比如一些已经弃用的标签等。
最后,标准模式则是对统一标准实现最好的模式,它要求标
签必须闭合(唯一不需要闭合的就是DOCTYPE标签),不能使用已经废弃的标签等等。目前,使用最多的DOCTYPE声明为过渡型HTML或
XHTML,因为它能最大话的兼容一些老代码。不过,技术领先的公司(比如google、facebook、twitter等都如此)都已经使用了html5的
DOCTYPE声明,即<!DOCTYPE html>,它所触发的模式与严格型HTML或严格型XHTML所触发的模式完全相同,但好处是节省代码且向前兼
容(HTML5时代)。
[/b]
相关文章推荐
- 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式
- 关于浏览器渲染html页面采用的三种文本模式
- 浅谈SQL Server中的事务日志和三种恢复模式
- 理解浏览器的三种模式以及相应的触发条件
- 浏览器对网页的两种(三种)解析模式quirks mode、strict mode (Almost Standards Mode)
- localforage 对不同浏览器 使用不同的缓存策略 , 大大提高了性能 ,IndexedDB,WebSQL 和 localStorage 三种存储模式
- 浅谈Tomcat三种运行模式
- 【Unity3d游戏开发】浅谈UGUI中的Canvas以及三种画布渲染模式
- 浅谈解决360兼容模式浏览器的方法
- 浏览器模式与DOCTYPE
- VMware三种工作模式
- exp/imp三种模式——完全、用户、表
- 菜鸟之路-浅谈设计模式之工厂模式
- 世界著名的膳食结构模式共有三种
- 浅谈观察者模式
- html设置浏览器模式
- 浅谈理想团队模式与软件流程的理解
- 虚拟机安装的三种网络模式
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- 浏览器的标准模式和怪异模式