dtd与浏览器标准模式

 

在本栏目文章中,涉及到的浏览器有以下几种:

IE6IE7IE8FirefoxChromeSafariOpera

由于和系统的紧密集成,我们把 IE 系列目前较为常见的 IE6 IE7 IE8 当作三种浏览器来看待,并会在具体问题中分别针对这几个版本做分析。

浏览器的版本

在上述浏览器中,除 IE 系列外,文章中提到的浏览器版本在文章末尾的“测试环境”中做了注明。一般来说都是在编写某一篇文章时,各浏览器的最新版本。

在分析某些问题时,不保证能在上述所有浏览器中都进行了测试。因此具体测试的浏览器应以各文章末尾的“测试环境”中出现的浏览器为准。

浏览器的工作模式

各浏览器的工作模式列表

在上述浏览器中,每种浏览器都有两或三种工作模式1,总结如下:

IE6IE7IE8FirefoxChromeSafariOpera
混杂模式(Quriks Mode)
接近标准模式(Almost Standards Mode)
标准模式(Standards Mode)

注:

  1. 关于浏览器工作模式的详细信息,请参考 KB001: 兼容性问题与浏览器的内核及渲染模式 中的内容。

对“标准模式”的定义

注意以上“各浏览器的工作模式列表”中,IE6 和 IE7 有“标准模式”,却没有“接近标准模式”。

IE6 和 IE7 的“标准模式”在它们推出的年代是很接近当时的标准的,虽然时过境迁,在现在看来它们已经不够“标准”,但我们仍把 IE6 和 IE7 当年的、现在看起来并不足够接近标准的“标准模式”仍然称做 IE6 和 IE7 的 “标准模式”。

在这里提到的“模式”是一个与时间点相关联的概念,我们不会因为时间点的不同而更改他们的名称1。也就是说,这个“标准模式”是与浏览器的品牌和版本密切相关的,即便是各浏览器最新版本的 “标准模式” 也会有差别。

注:

  1. 有些文章会把IE6的“标准模式”称作“接近标准模式”,这种划分方式过于主观,如果由于早些时候的“标准模式”不再接近现有的标准,而将他们改称为“接近标准模式”的话,那么再过一段时间,他们就会变成“接近混杂模式”了。

浏览器的名称及工作模式的缩写

在本栏目文章中,经常会分组罗列各浏览器及各种模式,为了便于阅读和区分,我们使用了缩写的方式来表达。

具体规则如下:

  • 要描述某浏览器的某种工作模式时,以 浏览器名称(工作模式) 的形式来表示。如:
    缩写含义
    第一组IE6(S)IE6 的“标准模式”
    第二组IE6(Q)IE6 的“混杂模式”
  • 要描述多个浏览器及工作模式的组合时,使用 空格 来分隔。如:
    缩写含义
    第一组IE6(S) IE7(S)IE6 和 IE7 的“标准模式”
    第二组IE6(Q) IE7(Q)IE6 和 IE7 的“混杂模式”
  • 描述相同版本的 IE8、Firefox、Chrome、Safari 和 Opera 的“标准模式”和“接近标准模式”时,由于各浏览器相同版本的“标准模式”和“接近标准模式”之间的差异极少,因此除必须要区分这两种模式的情况外,都使用 浏览器名称(S) 来表示该浏览器的“标准模式”及“接近标准模式”。如:
    缩写含义
    第一组IE8(S) Firefox(S)IE8 和 Firefox 的“标准模式”和“接近标准模式”
    第二组Chrome(S) Safari(S)Chrome 和 Safari 的“标准模式”和“接近标准模式”
  • 描述时必须要区分上述浏览器的“标准模式”和“接近标准模式”时,使用 浏览器名称(A) 来表示该浏览器的“接近标准模式”。如:
    缩写含义
    第一组IE8(S)IE8 的“标准模式”
    第二组IE6(S) IE7(S) IE8(A)IE6 和 IE7 的“标准模式”以及 IE8 的“接近标准模式”
  • 要描述某一浏览器,并且不区分其工作模式时,仅以 浏览器名称 表示,如:
    缩写含义
    第一组IE6 IE7IE6 和 IE7 的“标准模式”和“混杂模式”
    第二组IE8 FirefoxIE8 和 Firefox 的“标准模式”、“接近标准模式”和“混杂模式”
  • 当描述过一个或一个以上的浏览器及模式的分组后,以 其他浏览器 来代表上述分组中未出现的、文章末尾的“测试环境”中列出的剩余的浏览器及模式,如“测试环境”中列出的浏览器有 IE6、IE7、IE8、Firefox、Chrome、Safari,则:
    缩写含义
    第一组IE6 IE7 IE8(Q)IE6 和 IE7 的“标准模式”和“混杂模式”以及 IE8 的“混杂模式”
    第二组其他浏览器IE8 的“标准模式”和“接近标准模式”以及 Firefox、Chrome、Safari 的“标准模式”、“接近标准模式”和“混杂模式”
  • 要描述 IE 系列的浏览器,不区分版本及工作模式时,仅以 IE 表示,如:
    缩写含义
    第一组IEIE6 和 IE7 的“标准模式”和“混杂模式”以及 IE8 的“标准模式”、“接近标准模式”和“混杂模式”
    第二组其他浏览器除 IE6、IE7 和 IE8 以外在“测试环境”中列出的剩余的浏览器的“标准模式”、“接近标准模式”和“混杂模式”




注意:
1,IE8,IE9的Almost Standards Mode模式是不能通过开发工具条切换的,而各版本的Standards Mode和Quriks Mode是切换的(来自MSDN)
2,IE5.5浏览器的盒状模型尺寸错误问题只在IE5.5和IE6以上版本的Quriks Mode存在。
3,IE8浏览模式说明:http://blogs.msdn.com/b/ie/archive/2010/03/02/how-ie8-determines-document-mode.aspx
4,FireFox浏览模式说明:https://developer.mozilla.org/en/Mozilla%27s_DOCTYPE_sniffing

5,IE6,IE7自称的标准模式只相当于其它浏览器的近似标准模式,对于Strict DTD和 Transitional DTD都是如此,所以只有近似标准模式是所有浏览器都支持的,如图

DTD

IE6,IE7

IE8+,Firefox,Chrome

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Stardards(相当于Almost)

Almost Stardards

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Stardards(相当于Almost)

Stardards


更多DTD与浏览器模式表格请参考: http://hsivonen.iki.fi/doctype/ 下面的表格

6,在没有或错误的DTD和UA兼容设置的情况下所有浏览器都是Quirks模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值