可能的复制品: HTML: 什么是! DOCTYPE 的功能
我最近在这里问了一个问题,答案很简单:
您需要向页面添加一个 doctype。这将为您解决这个问题。
现在,我的页面在没有 doctype (IE 除外)的每个浏览器中都能正常工作。IE 是否需要 doctype (这是 IE 独有的东西)并且其他浏览器仅仅假设它是 [俄语]或者它正在做一些我没有看到的事情。
它的功能是什么? 它是如何工作的?
Doctype 声明应该是 HTML 文档中的第一件事, 在标签之前。 Doctype 声明不是 HTML 标签; 它是对 web 的指令 浏览器的版本 页面所写的标记语言 进去。 Doctype 声明引用一个 文档类型定义(DTD) DTD 指定标记的规则 语言,以便浏览器呈现 正确的内容。
Doctype 声明应该是 HTML 文档中的第一件事, 在标签之前。
Doctype 声明不是 HTML 标签; 它是对 web 的指令 浏览器的版本 页面所写的标记语言 进去。
Doctype 声明引用一个 文档类型定义(DTD) DTD 指定标记的规则 语言,以便浏览器呈现 正确的内容。
参考文献
Doctype 做两件事。
如果没有 doctype,或者存在一个无法识别的 doctype,那么它使用“稀奇古怪”模式并尽可能地解释文档。如果存在 doctype,并且它能识别它,那么它就遵循标准。呈现的结果可以根据解释文档的方式而有所不同。
为什么? 为什么要指定 doctype? 因为它 定义了(X) HTML 的哪个版本 文件的实际使用情况,而这个 是一条重要的信息 所需的一些工具处理 文件。 例如,将 doctype 指定为 你的文档允许你使用工具 例如要检查的标记验证器 你的(X) HTML 的语法。这样的工具 如果他们不这样做,将无法工作 知道你是什么样的文件 使用。 但最重要的是 在大多数浏览器家族中, Doctype 声明将使许多 猜测是不必要的,因此 触发“标准”渲染模式。
为什么?
为什么要指定 doctype? 因为它 定义了(X) HTML 的哪个版本 文件的实际使用情况,而这个 是一条重要的信息 所需的一些工具处理 文件。
例如,将 doctype 指定为 你的文档允许你使用工具 例如要检查的标记验证器 你的(X) HTML 的语法。这样的工具 如果他们不这样做,将无法工作 知道你是什么样的文件 使用。
但最重要的是 在大多数浏览器家族中, Doctype 声明将使许多 猜测是不必要的,因此 触发“标准”渲染模式。
资料来源: http://www.w3.org/QA/Tips/Doctype
所有的浏览器都需要 doctype。如果没有 DOCTYPE,你就会强制浏览器在 怪癖模式中进行渲染。
DOCTYPE
然而,在 确定方言和语法分析中浏览器只使用了 DOCTYPE的一部分,尽管这是目的所在。 这就是为什么 HTML5将 DOCTYPE简化为:
<!DOCTYPE html>
2.2 DOCTYPE HTML5的 HTML 语法要求指定 DOCTYPE,以确保浏览器以标准模式呈现页面。DOCTYPE 没有其他用途,因此对于 XML 是可选的。XML 媒体类型的文档总是以标准模式处理。[ DOCTYPE ] DOCTYPE 声明是 <!DOCTYPE html>,在 HTML 语法中不区分大小写。早期版本的 HTML 中的 DOCTYPE 更长,因为 HTML 语言是基于 SGML 的,因此需要对 DTD 的引用。对于 HTML5,情况不再是这样,只需要 DOCTYPE 为使用 HTML 语法编写的文档启用标准模式。浏览器已经为 <!DOCTYPE html>这样做了。
2.2 DOCTYPE
HTML5的 HTML 语法要求指定 DOCTYPE,以确保浏览器以标准模式呈现页面。DOCTYPE 没有其他用途,因此对于 XML 是可选的。XML 媒体类型的文档总是以标准模式处理。[ DOCTYPE ]
DOCTYPE 声明是 <!DOCTYPE html>,在 HTML 语法中不区分大小写。早期版本的 HTML 中的 DOCTYPE 更长,因为 HTML 语言是基于 SGML 的,因此需要对 DTD 的引用。对于 HTML5,情况不再是这样,只需要 DOCTYPE 为使用 HTML 语法编写的文档启用标准模式。浏览器已经为 <!DOCTYPE html>这样做了。
来源: < a href = “ http://dev.w3.org/HTML5/HTML4-different/# DOCTYPE”> HTML5与 HTML4的差异: DOCTYPE
任何浏览器都应该有一个 DOCTYPE。它告诉浏览器如何解释 html 和 css。这就是为什么 html4和 html5有不同的定义(就像 xhtml 一样)。这些对于验证都很重要。
IE 要做的就是把文档放到它所谓的“怪异模式”中,这种模式基本上忽略了一大堆关于 CSS 应该如何运行的规则(按照现代定义)。这是 问题的良好总结。它让人回想起过去非标准化 CSS 支持的糟糕日子
从 W3Schools 来看,doctype 是“网页浏览器关于页面使用什么版本的标记语言编写的指令”( http://www.w3schools.com/tags/tag_doctype.asp )
如果没有包含 doctype,浏览器可能会认为您使用的语言与实际使用的语言不同,从而导致呈现不正确。
浏览器至少需要以所谓的标准模式呈现。参见 John Resig 关于 html 5 doctype: http://ejohn.org/blog/html5-doctype/的文章。现在,如果你希望你的浏览器不使用标准和渲染像它的1990年继续,不要添加任何东西,你会看到浮点数和其他现在的标准项目不能正常工作。如果你想让你的页面渲染/验证符合一个特定的标准,那么你会想要添加更多的文档类型,但这是没有必要的。
来自 W3学校.com:
有几种不同的文档类型,更改它们可以彻底改变页面的呈现方式。