【HTML&CSS】 第一章:DTD文档声明

<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签以前。html

<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪一个 HTML 版本进行编写的指令。web

在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,由于 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。浏览器

HTML5 不基于 SGML,因此不须要引用 DTD。ruby

提示:请始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型。框架

 

经常使用的 DOCTYPE 声明布局

HTML 5ui

<!DOCTYPE html>

 

HTML 4.01 Strictspa

该 DTD 包含全部 HTML 元素和属性,但不包括展现性的和弃用的元素(好比 font)。不容许框架集(Framesets)。code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

 

HTML 4.01 Transitionalhtm

该 DTD 包含全部 HTML 元素和属性,包括展现性的和弃用的元素(好比 font)。不容许框架集(Framesets)。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

 

HTML 4.01 Frameset

该 DTD 等同于 HTML 4.01 Transitional,但容许框架集内容。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">

 

XHTML 1.0 Strict

该 DTD 包含全部 HTML 元素和属性,但不包括展现性的和弃用的元素(好比 font)。不容许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

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

 

XHTML 1.0 Transitional

该 DTD 包含全部 HTML 元素和属性,包括展现性的和弃用的元素(好比 font)。不容许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

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

 

XHTML 1.0 Frameset

该 DTD 等同于 XHTML 1.0 Transitional,但容许框架集内容。

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

 

XHTML 1.1

该 DTD 等同于 XHTML 1.0 Strict,但容许添加模型(例如提供对东亚语系的 ruby 支持)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

 

 

 

 

怪异模式:仅在没有在文档首行添加!DOCTYPE声明的状况下会出现

 

 

脚本检测

能够经过document对象有个属性compatMode ,它有两个值:

“BackCompat”    对应怪异模式

“CSS1Compat”    对应标准模式

 

近似标准模式

近似标准模式(Almost Standards Mode)从字面意思上看与标准模式很是相似,但确实有小的差异。主要体如今对于表格单元格内垂直方向布局渲染差别。IE8 开始、Firefox、Chrome、Safari、Opera 7.5 开始,这些浏览器的标准模式更加严格的遵循了 CSS2.1 规范,故对于在目前看来不太“标准”的之前的标准模式,被赋予了“近似标准模式”的名字。可是在较早的 IE6 IE7 以及 Opera 7.5 以前版本中,浏览器没法严格遵循 CSS2.1 规范,故对于它们来讲没有这个近似标准模式,也能够理解为它们的近似标准模式就是标准模式。

到目前为止,能够看到各浏览器主要包含了三种模式。在 HTML5 草案中,更加明确的规定了模式的定义:

传统名称

HTML5 草案名称

document.compatMode 返回值

standards mode 或者 strict mode

no-quirks mode

CSS1Compat

almost standards mode

limited-quirks mode

CSS1Compat

quirks mode

quirks mode

BackCompat

相关文章
相关标签/搜索