`

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模式
分享到:
评论

相关推荐

    xml dtd html 源程序

    HTML(HyperText Markup Language)则是用于创建网页的标准标记语言,它关注的是如何在浏览器中展示数据。 在这个“xml dtd html 源程序”中,我们可以推测包含了一系列关于如何使用XML、DTD以及HTML进行数据处理和...

    WebRebuild北京第一届交流会之2:《浏览器兼容性问题简介》——黄昊

    标准模式遵循W3C的规范,而怪异模式则是为了兼容早期的浏览器行为。浏览器根据页面顶部的DOCTYPE声明来决定使用哪种模式。DOCTYPE的缺失或不正确会导致页面进入怪异模式。开发者可以通过document.compatMode属性来...

    web前端浏览器兼容性问题和新知识.docx

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;`,以确保浏览器以标准模式解析页面。 接着,了解不同类型的DTD声明至关重要。过渡的...

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

    在这种模式下,浏览器对某些CSS属性的处理与标准模式有所不同,例如表格单元格的垂直尺寸计算。这个模式是为了兼容那些按照旧有标准(如IE5.5)编写的网页,但并不完全符合现代Web标准。 怪异模式,又称“quirks...

    quirksmode

    浏览器 Quirksmode(怪异模式)与 CSS1compat 浏览器 Quirksmode(怪异模式)与 CSS1compat 是一种浏览器渲染模式的概念,它们之间存在着一些区别和联系。Quirksmode 也称为 Compatibility Mode,是一种非标准的渲染...

    DWR2.jar + DWR.xml + DWR2.0.dtd + Web.xml

    **Web.xml** 是Web应用程序的部署描述符,它是每个Java EE Web应用程序的标准配置文件。在这个文件中,你需要注册DWRServlet,以便服务器知道如何处理DWR相关的HTTP请求。通常,你会在`&lt;servlet&gt;`和`...

    DIV+CSS解决各浏览器兼容问题

    例如,在HTML头部添加以下声明可以确保浏览器以正确的标准模式解析页面: ```html &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; ...

    CSS浏览器兼容性与解析问题终极归纳[整理].pdf

    在Firefox中,即使没有DTD,它仍会使用标准模式解析,但Internet Explorer(特别是旧版本如IE6)则会触发怪异模式,导致渲染方式与标准模式不同。为了避免这种情况,最佳实践是在文档顶部添加合适的DOCTYPE,如`&lt;!...

    页面在360浏览器下显示不正常的兼容性问题

    `&lt;meta http-equiv="X-UA-Compatible" content="IE=8"&gt;` 这个标签用于设置浏览器的文档模式,告诉浏览器应该按照IE8或更高的标准模式来解析和渲染页面,从而避免IE7及更低版本的兼容性问题。如果页面缺少这个声明,...

    web浏览器兼容

    这将使得IE7以标准模式解析页面,减少兼容性问题。 5. **使用CSS reset** 使用CSS reset文件消除浏览器默认样式差异,让所有浏览器的初始样式保持一致,从而减少兼容性问题。 6. **渐进增强与优雅降级** 渐进...

    网页 DOCTYPE html标签的作用1

    在这种模式下,一些CSS样式可能不会按预期工作,页面布局可能会混乱,JavaScript的行为也可能与标准模式下不同。因此,为了确保跨浏览器的一致性和兼容性,以及良好的页面渲染效果,开发者应该始终在HTML文档的开头...

    css浏览器兼容大全

    - **标准模式**:当文档使用严格或过渡DTD时,浏览器进入标准渲染模式。 - **怪异模式**:如果文档没有DOCTYPE或使用的是某些老式DTD,浏览器则进入怪异模式。 #### 二、Firefox与IE的margin问题 在Firefox中,当`...

    HTML 35道面试题及答案.docx

    本文档总结了 HTML 的基础知识点,涵盖了 DOCTYPE 的作用、标准模式与混杂模式的区分、HTML5 的特点、行内元素和块级元素的分类、link 和@import 的区别、浏览器内核的理解、HTML5 的新特性和移除的元素等。...

    HTML 80 道面试题及答案.docx

    标准模式与兼容模式的区别是什么? 标准模式是浏览器按照最高标准运行的模式,而兼容模式是浏览器模拟老式浏览器的行为,以防止站点无法工作。在标准模式下,浏览器会按照 HTML 和 CSS 的标准来解析网页,而在兼容...

    css浏览器兼容性前端人员的必备

    根据W3C标准,正确的DOCTYPE声明能够帮助浏览器进入“标准模式”,而非“怪异模式”。因此,在编写HTML代码时,务必添加正确的DOCTYPE声明,如: ```html &lt;!DOCTYPE html&gt; ``` 或更具体的XHTML DOCTYPE声明: ```...

    如何让div+css兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器.pdf

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;`可以使浏览器进入标准模式,这有助于统一CSS解析,减少浏览器差异。 2. **FF与IE的...

Global site tag (gtag.js) - Google Analytics