现在有用于在Web浏览器中的布局引擎的三种模式:
1.quirks mode: 怪异模式
2.almost standards mode:准标准模式 (只有极少数的怪异行为执行。)
3. full standards mode:完整标准模式(一直努力希望致力于描述HTML和CSS规范。)——In full standards mode , the behavior is (hopefully) the behavior described by the HTML and CSS specifications.)
DOCTYPE,简称为DTDs
,是英文Document type的缩写,中文“文档类型”;
没有定义doctype会开启怪异模式。
对于HTML文件,浏览器使用DOCTYPE的文件,以决定是否处理它的怪癖模式或标准模式开始。
<!DOCTYPE html>
<
html
>
< head
>
<
title
>Hello World!</
title
>
</ head
>
<
body
>
</
body
>
</
html
>
XHTML
如果你为你的页面XHTML使用的application / xhtml + xml的
MIME类型的内容类型的
HTTP头,你并不需要一个DOCTYPE以使标准模式,因为这样的文件总是使用完整的标准模式。但是请注意,您的网页应用
服务/ xhtml + xml的
会造成Internet Explorer 8的显示一个下载对话框中显示您的网页,而不是一个未知格式,支持XHTML的第一个版本的Internet Explorer的Internet Explorer 9。
如果你提供的是XHTML,如内容使用text / html的
MIME类型,浏览器将读取HTML,你会需要的的DOCTYPE,以使用标准模式。
mozilla -html解析器
In quirks mode, we parsed HTML comments in a non-SGML way compatible with other browsers instead of treating "--" as the comment start and end delimiter.Obsolete since Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) This quirk is now HTML5 conform and has been adopted in standards mode.
在怪异模式下,我们解析HTML注释中非SGML的方式,与其他浏览器兼容,而不是以“ - ”作为注释的开始和结束定界符来处理。过时以来的Gecko 2.0(火狐4 /雷鸟3.3 /组件2.1)的怪异模式跟现在的HTML5符合标准,在标准模式下已经通过。
“准标准”模式
“准标准”的渲染模式是完全一样的“标准”模式中的所有资料储存,它的工作原理就像“怪癖”模式:高度计算线框和一些行内元素在其中 ,一个常见的情况,这影响的布局表格单元格内的图像。这意味着,切片图像的表的布局是不太可能土崩瓦解基于Gecko的浏览器的渲染引擎在Mozilla 1.0.1或更高版本时,无论是“怪癖”或“准标准”模式的基础上。
更详细一点,有什么不同之处几乎标准模式大致是这样的:有没有非空白文本作为一个孩子,有没有边框,或保证金的行内框:
- 不影响大小的行中(即,他们被忽略的line-height)
- 没有得到的高度(例如,为他们的背景)大于他们的后代,即使他们的字体大小是较大的(如果他们没有后代,他们是高度为零,在基线定位)
除了这个区别,“准标准”和“标准”模式是完全相同的布局和其他行为。
触发“准标准”
的文档类型,将触发“几乎标准”的模式是那些含有:
-
公共标识符“
- / / W3C / / DTD XHTML 1.0 / / EN
“ -
公共标识符“
- / / W3C / / DTD XHTML 1.0框架集/ / EN
“ -
公共标志符“
- / / W3C / / DTD HTML 4.01过渡/ / EN
“,系统标识符 -
公共标识符“
- / / W3C / / DTD HTML 4.01框架集/ / EN
“,系统标识符 -
IBM系统DOCTYPE“
http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd
“
一个完整的DOCTYPE包含公共标识符和系统标识符。在文档类型的讨论中,很多人会为“URI”或“无URI是指一个DOCTYPE。” URI是系统标识符。例如,考虑下面的DOCTYPE:
<!DOCTYPE HTML PUBLIC“ - / / W3C / / DTD HTML 4.01过渡/ / EN” “http://www.w3.org/TR/html4/loose.dtd”>
的部分如下:
-
公共标识符:“
- / / W3C / / DTD HTML 4.01过渡/ / EN
“ -
系统标识符:“
http://www.w3.org/TR/html4/loose.dtd
“
因此,任何一个URI(系统标识符)HTML 4.01 Transitional或框架集DOCTYPE将触发“几乎标准”的模式,任何XHTML 1.0 Transitional或框架集DOCTYPE,带或不带的URI。作者以外的IBM并不需要担心自定义DOCTYPE,也将触发“几乎标准”的模式。