DOCTYPE 定义
DOCTYPE 是 document type(文档类型)的简写
DOCTYPE 返回当前文档关联的文档类型定义(DTD)
DOCTYPE 返回的对象实现了 DocumentType 接口
使用 DOMImplementation.createDocumentType()
方法可以创建一个DocumentType
类型的对象
DOCTYPE 语法
doctype = document.doctype;
如下例所示:
let doctype = document.doctype;
console.log(doctype);
注:
doctype
是一个只读属性null
DOCTYPE 用法
!DOCTYPE 在页面当中是一个文档类型标记,是一种标准通用标记语言的文档类型声明
位于文档中的最前面的位置,处于 标签之前,此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范
doctype 声明不属于 HTML 标签;tag; 它是一条指令,告诉浏览器编写页面所用的标记的版本
在所有 HTML 文档中规定 doctype 是非常重要的,这样浏览器就能了解预期的文档类型
在 HTML 4.01 中, 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言),DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容
HTML5 不是基于 SGML,因此不要求引用 DTD,但是需要 doctype 来规范浏览器的行为
HTML
HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
HTML Strict DTD
HTML Transitional DTD
Frameset DTD
具有正确文档类型(doctype)的 HTML5 文档:
XHTML
XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。
XHTML Strict DTD
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
XHTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:
XHTML Frameset DTD
当您希望使用框架时,请使用此 DTD!
如需检查你是否编写了带有正确 DTD 的合法 XHTML 文档,您可以把您的 XHTML 页面链接到一个 XHTML 验证器
DOCTYPE 的模式
DOCTYPE 是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档
Doctype可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档
超文本标记语言
超文本严格文档类型定义:
如果需要干净的标记,免于表现层的混乱,则使用此类型。请与层叠样式表配合使用:
公共标识符称为:“-//W3C//DTD HTML 4.01//en”
超文本过渡文档类型定义:
可包含万维网联盟所期望移入样式表的呈现属性和元素。如果读者使用了不支持层叠样式表的浏览器以至于不得不使用超文本标记语言的呈现特性时,则使用此类型:
公共标识符称为:“-//W3C//DTD HTML 4.01 Transitional//en”
超文本框架集文档类型定义:
框架集文档类型定义应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,等同于过渡文档类型定义:
公共标识符称为:“-//W3C//DTD HTML 4.01 Frameset//en”
可扩展超文本标记语言
可扩展超文本标记语言严格文档类型定义:
公共标识符称为:“-//W3C//DTD XHTML 1.0 Strict//en”
可扩展超文本标记语言过渡文档类型定义:
可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:
公共标识符称为:“-//W3C//DTD XHTML 1.0 Transitional//en”
可扩展超文本标记语言框架集文档类型定义:
当您希望使用框架时,请使用此文档类型定义!
公共标识符称为:“-//W3C//DTD XHTML 1.0 Frameset//en”
当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性,为了实现这一点,他们创建了两种呈现模式:标准模式和混杂模式
>> 在标准模式中,浏览器以其支持的最高标准呈现页面。
>> 在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。混杂模式通常模拟老式浏览器的行为以防止老站点无法工作