提问人:Freesnöw 提问时间:5/21/2011 最后编辑:CommunityFreesnöw 更新时间:5/21/2011 访问量:93266
为什么我需要文档类型?(它有什么作用)[复制]
Why do I need a doctype? (What does it do) [duplicate]
问:
可能的重复项: HTML:
的功能是什么!文档类型
我最近在这里问了一个问题,解决方案很简单:
您需要向页面添加文档类型。这应该可以为您解决问题。
现在,我的页面可以在没有文档类型的每个浏览器中正常工作(IE 除外)。IE 是否需要 doctype(这是 IE 独有的东西)并且其他浏览器只是假设它或它是否在做一些我没有看到的事情。
它的功能是什么,它是如何工作的?
答:
doctype 声明应为 HTML 文档中的第一件事, 在标记之前。
doctype 声明不是 HTML 标记;这是对网络的指令 浏览器关于什么版本的 页面编写的标记语言 在。
doctype 声明指的是 文档类型定义 (DTD)。这 DTD 指定标记的规则 语言,以便浏览器呈现 内容正确。
Doctype 做两件事。
- 它标识您正在使用的 HTML 方言。
- 它控制浏览器是使用“标准”模式还是“怪癖”模式来呈现文档。
如果没有文档类型,或者存在无法识别的文档类型,则它使用“怪癖”模式并尽可能地解释文档。如果存在一个文档类型,并且它识别它,那么它遵循标准。呈现的结果可能因文档的解释方式而异。
为什么?
为什么要指定文档类型?因为它 定义 (X)HTML 的哪个版本 文档实际使用,而这个 是一条关键信息 一些工具需要处理 公文。
例如,指定 您的文档允许您使用工具 例如标记验证器来检查 (X)HTML 的语法。此类工具 如果他们不这样做,将无法工作 知道你是什么样的文件 用。
但最重要的是 对于大多数浏览器系列,一个 doctype 声明会做很多 猜测是不必要的,因此会 触发“标准”渲染模式。
来源: http://www.w3.org/QA/Tips/Doctype
评论
DOCTYPE
所有浏览器都需要 doctype。如果没有,您将强制浏览器以 Quirks 模式呈现。DOCTYPE
然而,浏览器只部分地用于确定方言和解析,即使这是目的。这就是为什么 HTML5 将 DOCTYPE
简化为:DOCTYPE
<!DOCTYPE html>
2.2. DOCTYPE
HTML5 的 HTML 语法要求指定 DOCTYPE,以确保浏览器以标准模式呈现页面。DOCTYPE 没有其他用途,因此对于 XML 是可选的。具有 XML 媒体类型的文档始终在标准模式下处理。[文档类型]
DOCTYPE 声明在 HTML 语法中不区分大小写。早期版本的 HTML 中的 DOCTYPE 更长,因为 HTML 语言是基于 SGML 的,因此需要对 DTD 的引用。在 HTML5 中,情况不再如此,只需要 DOCTYPE 来为使用 HTML 语法编写的文档启用标准模式。浏览器已经为 .
<!DOCTYPE html>
<!DOCTYPE html>
评论
您应该具有任何浏览器的 DOCTYPE。它告诉浏览器如何解释 html 和 css。这就是为什么 html4 和 html5 有不同的定义(xhtml 也是如此)。这些对于验证都非常重要。
IE将要做的是将文档放入所谓的“怪癖模式”中,该模式基本上忽略了CSS应该如何(根据现代定义)行为的一大堆规则。这是对这个问题的一个很好的总结。它让人回想起过去对非标准化CSS支持的糟糕时光
评论
在 W3Schools 中,文档类型是“向 Web 浏览器发出的关于页面使用哪个版本的标记语言编写的指令”。(http://www.w3schools.com/tags/tag_doctype.asp)
如果不包含 doctype,浏览器可能会认为您使用的语言与实际语言不同,从而导致其呈现不正确。
浏览器至少需要以所谓的标准模式进行渲染。参见 John Resig 关于 html 5 文档类型的文章:http://ejohn.org/blog/html5-doctype/。现在,如果您希望您的浏览器不使用标准并像 1990 年那样渲染,请继续不添加任何内容,您会看到浮点数和其他现在的标准项无法正常工作。如果你想让你的页面按照特定的标准呈现/验证,那么你会想在文档类型中添加更多,但这不是必需的。
doctype 声明不是 HTML 标记;这是对网络的指令 浏览器关于什么版本的 页面编写的标记语言 在。
有几种不同的文档类型,更改它们可以极大地改变页面的呈现方式。
评论