`

dtd与浏览器标准模式

 
阅读更多

 

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

IE6 IE7 IE8 Firefox Chrome Safari Opera

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

浏览器的版本

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

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

浏览器的工作模式

各浏览器的工作模式列表

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

IE6 IE7 IE8 Firefox Chrome Safari Opera
混杂模式(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 IE7 IE6 和 IE7 的“标准模式”和“混杂模式”
    第二组 IE8 Firefox IE8 和 Firefox 的“标准模式”、“接近标准模式”和“混杂模式”
  • 当描述过一个或一个以上的浏览器及模式的分组后,以 其他浏览器 来代表上述分组中未出现的、文章末尾的“测试环境”中列出的剩余的浏览器及模式,如“测试环境”中列出的浏览器有 IE6、IE7、IE8、Firefox、Chrome、Safari,则:
    缩写 含义
    第一组 IE6 IE7 IE8(Q) IE6 和 IE7 的“标准模式”和“混杂模式”以及 IE8 的“混杂模式”
    第二组 其他浏览器 IE8 的“标准模式”和“接近标准模式”以及 Firefox、Chrome、Safari 的“标准模式”、“接近标准模式”和“混杂模式”
  • 要描述 IE 系列的浏览器,不区分版本及工作模式时,仅以 IE 表示,如:
    缩写 含义
    第一组 IE IE6 和 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模式
分享到:
评论

相关推荐

    浅谈浏览器兼容性模式[按F12便知]

    面试官:请你谈谈标准(Standards)模式、怪异(Quirks)模式、准标准(Almost Standards)模式,当你打开IE9时候会看见,... 标准模式(Standards Mode) 准标准模式(Almost Standards Mode) 怪癖模式(Quirks Mode)

    Html题目问题已经答案完整版

    1.请描述一个网页从开始...如果HTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现,对于HTML4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

    百度地图毕业设计源码-Front-End-interview-questions:整理收集常见前端面试问题及一些知识点

    标准模式、3.2 混杂模式。 3.1 标准模式 标准模式(standards mode):浏览器根据W3C标准来渲染页面。 3.2 混杂模式 混杂模式(quirks mode):浏览器采用更加宽松的、向后兼容的方式来渲染页面。 混杂模式下,...

    初学者必知的HTML 5入门级技巧

    HTML 5的简短的DOCTYPE声明是让Firefox、Chrome等现代浏览器和IE6/7/8等浏览器都进入(准)标准模式,你可能会奇怪IE6/7居然 也可以支持HTML 5 Doctype,事实上,IE是只要doctype符合这种格式,都会进入标准模式。...

    xml入门经典-part3(中文版)

    7.6.1 DTD与XML 模式的比较 7.6.2 结构 7.6.3 数据类型 7.7 简化了的XML Data 7.7.1 MSXML对命名空间和模式的支持 7.7.2 数据类型 7.8 图书目录中的变化 7.8.1 为什么烦恼 7.8.2 重铸DTD 7.8.3 模式协调 ...

    安卓java读取网页源码-interview:面试

    标准模式与兼容模式各有什么区别? &lt;!DOCTYPE&gt;声明位于HTML文档中的第一行,处于 &lt;html&gt; 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。 ...

    front-end-dev-basics:每个前端开发人员都应该知道的基础知识

    这里的关键是 IE 中的 quirks 模式与其他浏览器中的 quirks 模式大不相同,这意味着如果页面以 quirks 模式呈现,那么您将比在 quirks 模式下呈现时更难确保您的页面在所有浏览器中一致工作它们以标准模式呈现。...

    XML高级编程pdf

    7.6.1 DTD与XML 模式的比较 7.6.2 结构 7.6.3 数据类型 7.7 简化了的XML Data 7.7.1 MSXML对命名空间和模式的支持 7.7.2 数据类型 7.8 图书目录中的变化 7.8.1 为什么烦恼 7.8.2 重铸DTD 7.8.3 模式协调 ...

    XML高级编程 (Extensible Markup Language)

    7.6.1 DTD与XML 模式的比较 7.6.2 结构 7.6.3 数据类型 7.7 简化了的XML Data 7.7.1 MSXML对命名空间和模式的支持 7.7.2 数据类型 7.8 图书目录中的变化 7.8.1 为什么烦恼 7.8.2 重铸DTD 7.8.3 模式协调 ...

    XML 高级编程(高清版)

    7.6.1 DTD与XML 模式的比较 7.6.2 结构 7.6.3 数据类型 7.7 简化了的XML Data 7.7.1 MSXML对命名空间和模式的支持 7.7.2 数据类型 7.8 图书目录中的变化 7.8.1 为什么烦恼 7.8.2 重铸DTD 7.8.3 模式协调 ...

    java简易版开心农场源码-Note:前端

    (2)标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。 #HTML5 为什么只需要写 &lt;!DOCTYPE HTML&gt;? HTML5...

    程序员面试刷题的书哪个好-Web:前端校招面试题(持续更新)

    标准模式下网页的编排和JS运作模式都是以该浏览器支持的最高标准运行 而在兼容模式下,页面则以宽松向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作 比如:若不声明DOCTYPE类型,IE6浏览器会将盒子模型...

    XML高级编程

    7.6.1 DTD与XML 模式的比较 210 7.6.2 结构 211 7.6.3 数据类型 219 7.7 简化了的XML Data 222 7.7.1 MSXML对命名空间和模式的支持 228 7.7.2 数据类型 229 7.8 图书目录中的变化 230 7.8.1 为什么烦恼 230 7.8.2 重...

    IE6盒子模型没问题 详测双倍边距

    2010-8-18 去腾讯面试,问IE6。...结论:标准模式时,IE6浏览器采用W3C盒子模型,此时IE6、Firefox表现一致。 代码: 复制代码代码如下: &lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional

    XML学习指南

    8.3.2 使用单记录数据绑定 8.3.3 其他数据绑定技术 8.3.4 把数据绑定与DTD一起使用 8.3.5 绑定HTML元素到XML属性 8.4 把脚本与DSO一起使用 第9章 使用文档对象模式脚本显示 XML文档 9.1 把XML文档链接到HTML页 9.2 ...

    XML学习指南pdf

    8.3.4 把数据绑定与DTD一起使用 8.3.5 绑定HTML元素到XML属性 8.4 把脚本与DSO一起使用 第9章 使用文档对象模式脚本显示 XML文档 9.1 把XML文档链接到HTML页 9.2 DOM的结构 9.3 访问和显示XML文档元素 9.3.1...

    XML 讲解和分析

    可扩展标记语言 科技名词定义 中文名称: 可扩展标记语言 ...因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言。

    详解HTML5布局和HTML5标签

    在编写HTML5文档时,要求指定文档类型,以确保浏览器能在HTML5的标准模式下进行渲染。 二、新增的HTML5标签 a,新增的HTML5标签-结构标签 结构标签:(块状元素) 有意义的div   标记定义一篇文章   标记定义一个...

    程序设计:xml学习指南中文版

    创建有效的XML文档 5.1 有效XML文档的基本标准 5.2 添加DTD 5.2.1 DTD的格式 5.2.2 创建DTD 5.3 声明元素类型 5.3.1 元素类型声明的格式 5.3.2 元素内容规范 5.4 声明属性 ...

Global site tag (gtag.js) - Google Analytics