为什么我需要doctype?(它有什么作用)

Fre*_*nöw 59 html doctype

可能重复:
HTML:!DOCTYPE的功能是什么

我最近在这里问了一个问题,解决方案很简单:

您需要向页面添加doctype.这应该为您解决问题.

现在,我的页面在没有doctype(IE除外)的每个浏览器中都能正常工作.IE是否需要doctype(这是IE唯一的东西)并且其他浏览器只是假设OR或者它正在做我没有看到的东西.

它的功能是什么?它是如何工作的?

Kev*_*eno 54

所有浏览器都需要doctype.没有DOCTYPE你强迫浏览器在Quirks模式下渲染.

但是,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>.

来源: 与HTML4的HTML5差异:DOCTYPE

  • 实际上,*确定*确定文档是呈现为严格模式,几乎是严格模式还是怪癖模式,因此**用于实现目的. (4认同)
  • 请参阅此表:http://hsivonen.iki.fi/doctype/它对以前版本的(X)HTML有明显影响 (3认同)

Wil*_*tin 12

Doctype做了两件事.

  1. 它标识您正在使用的HTML方言.
  2. 它控制浏览器是使用"标准"还是"怪癖"模式来呈现文档.

如果没有doctype,或者存在无法识别的文档类型,则它使用"怪癖"模式并尽可能地解释文档.如果有一个doctype,并且它识别它,那么它遵循标准.渲染的结果可能会有所不同,具体取决于它如何解释文档.


ont*_*ia_ 5

为什么?

为什么要指定doctype?因为它定义了文档实际使用的(X)HTML版本,这是处理文档的某些工具所需的关键信息.

例如,指定文档的doctype允许您使用诸如标记验证器之类的工具来检查(X)HTML的语法.如果他们不知道您使用的是哪种文档,这些工具将无法工作.

但最重要的是,对于大多数浏览器系列而言,doctype声明会使大量猜测变得不必要,从而触发"标准"渲染模式.

资料来源:http://www.w3.org/QA/Tips/Doctype

  • 我不认为2009年最后编辑的页面,最初创建于2002年的页面是目前可靠的参考. (2认同)
  • @KevinPeno 我认为你不知道 W3 是谁。 (2认同)