什么是DOCTYPE?

Bob*_*Bob 172 html xhtml doctype dtd

  • 什么是DOCTYPE,为什么我要使用它?
  • 我可以使用哪些不同的DOCTYPE?
  • 标准和怪癖模式之间有什么区别,我可能会遇到不同设置DOCTYPE的一些怪癖?

最后,我应该使用什么样的DOCTYPE?

Wal*_*sby 75

基本上,DOCTYPE描述了将在您的页面中使用的HTML.

浏览器还使用DOCTYPE来确定如何呈现页面.不包括DOCTYPE或包含不正确的DOCTYPE可以触发怪癖模式.这里的问题是,Internet Explorer中的怪癖模式与Firefox(以及其他浏览器)中的怪癖模式完全不同,这意味着如果页面以怪癖呈现,那么尝试确保页面在所有浏览器中的一致性将会更加困难模式比在标准模式下渲染时的模式.

维基百科对使用各种DOCTYPE时渲染差异有更深入的总结.XHTML是由某些文档类型启用的,关于XHTML的使用存在相当多的争论,这在XHTML中得到了很好的体现- 神话和现实.

不同的"标准投诉"呈现文档类型之间存在细微差别,例如HTML5文档类型(<!DOCTYPE html>在HTML5之前仅称为"瘦文档类型",不会触发旧版浏览器中的标准化呈现)和其他DOCTYPE(如HTML 4.01)过渡:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Run Code Online (Sandbox Code Playgroud)

  • IE6∉现代浏览器 (51认同)
  • 这些天我赞成HTML5 DOCTYPE:<!DOCTYPE html>它适用于所有现代浏览器,包括IE6. (38认同)

Rob*_*Rob 26

DOCTYPE告诉消费用户代理(Web浏览器,Web爬虫,验证工具)该文件是什么类型的文档.使用它可确保使用者正确地按预期解析HTML.

HTML,XHTML和Framesets有几种不同的DOCTYPES,每种都有两种模式Strict和Transitional.严格说你的标记正是使用定义的标准.有关更多详细信息,请参阅W3C DTD页面.

Quirksmode基本上是浏览器大战中的布局方法,当时标准不太受尊重和定义.通常,标准模式页面有效,将在各种浏览器中更一致地布局,但可能缺少您需要的某些功能.一个这样的特征是锚标记的目标属性.在怪异模式站点是这些差异的重要资源.

最后一个想法是新的HTML5标准建议使用一个非常简单的DOCTYPE:

<!DOCTYPE html>

使用此DOCTYPE是一种向前兼容的方式,用于指定页面处于标准模式,并且是HTML.这是Google使用的方法,并且相当容易记住.除非您打算使用XHTML,否则我建议使用此DOCTYPE.

  • 是DOCTYPE HTML标签吗?如果是这样,那么我们为什么要开始呢? (2认同)
  • @vipinkoul DOCTYPE标记指定发送User-Agent的HTML文档类型.它可以是HTML或XHTML或框架集.它可能是严格的HTML/XHTML /框架集或过渡HTML/XHTML /框架集.大多数情况下,这会影响解析器遇到错误时的反应. (2认同)

小智 6

doctype定义文档使用的HTML/XHTML版本.您可能希望使用doctype,以便在通过验证程序运行代码时,验证程序知道要检查的HTML/XHTML版本.此页面提供了一个很好的概述:

不要忘记添加doctype

此处列出了您可以使用的常见文档类型:

推荐的DTD列表

您应该使用哪种doctype取决于您使用的代码,但要想一想,请尝试通过W3C验证程序运行代码,并使用"更多选项"菜单中的" 文档类型"下拉菜单尝试不同的文档类型.

W3C标记验证服务