首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是DOCTYPE?

什么是DOCTYPE?
EN

Stack Overflow用户
提问于 2009-01-05 23:21:54
回答 8查看 66.9K关注 0票数 179
  • 什么是DOCTYPE ?我为什么要使用它?
  • 我可以使用哪些不同的DOCTYPE?
  • 标准模式和怪癖模式之间的区别是什么,使用不同设置的DOCTYPE可能会遇到哪些怪癖?

最后,我应该使用的正确DOCTYPE是什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-01-06 00:06:09

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

浏览器还使用DOCTYPE来确定如何呈现页面。不包含DOCTYPE或包含不正确的DOCTYPE可能会触发quirks模式。

这里的关键点是,Internet Explorer中的quirks模式与Firefox (和其他浏览器)中的quirks模式有很大的不同;这意味着您将面临一项困难得多的工作,即在触发quirks模式时尝试确保页面在所有浏览器上呈现一致,而不是在标准模式下呈现页面。

维基百科对differences in rendering when using various DOCTYPEs有更深入的总结。XHTML是由某些DOCTYPE实现的,关于XHTML的使用有相当多的争论,这在XHTML — myths and reality中有很好的介绍。

在不同的“符合标准的”呈现DOCTYPE之间有细微的差别,比如HTML5 (在HTML5之前的HTML5 doctype (<!DOCTYPE html>,在HTML5之前,只被称为"skinny doctype“,它不会触发旧浏览器中的标准化呈现)和其他doctype,比如这个用于HTML4.01的过渡:

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
票数 79
EN

Stack Overflow用户

发布于 2009-01-05 23:39:56

DOCTYPE告诉消费用户代理(web浏览器、web爬虫程序、验证工具)该文件是什么类型的文档。使用它可以确保使用者正确地解析您想要的HTML。

HTML、XHTML和Framesets有几种不同的DOCTYPES,每种都有严格和过渡两种模式。Strict表示您的标记完全使用了定义的标准。有关更多详细信息,请参阅W3C DTDs页面。

Quirksmode基本上是浏览器战争时期的布局方法,当时标准还没有得到很好的尊重和定义。通常,有效的标准模式页面在各种浏览器上的布局会更加一致,但可能会缺少您所需的某些功能。其中一个特性就是锚标记的目标属性。Quirksmode站点是解决这些差异的一个很好的资源。

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

<!DOCTYPE html>

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

票数 29
EN

Stack Overflow用户

发布于 2009-01-05 23:24:35

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

Don't forget to add a doctype

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

Recommended list of DTDs

您应该使用哪种文档类型取决于您正在使用的代码,但是要了解这一点,请尝试通过W3C验证器运行您的代码,并使用"More Options“菜单中的Document Type下拉菜单来尝试不同的doctype。

W3C Markup Validation Service

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/414891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档