如何知道我是否需要使用此标签?
它是HTML规范中的一个必要部分,详见规范文档:
8.1.1 DOCTYPE(文档类型声明)
DOCTYPE是必需的前导声明。
由于历史原因,需要使用DOCTYPE。当省略时,浏览器往往使用不兼容某些规范的不同渲染模式。在文档中包含DOCTYPE确保浏览器尽力遵循相关规范。
编辑以添加:
这个安全带有什么用?
我能看到的是,戴着这个安全带,我的车辆行驶方式与没有戴时相同。那么我怎样知道是否需要这个安全带呢?
你只有在发生意外而没有戴上它时才会知道你需要它。
DOCTYPE Declaration is the abbreviation for Document Type Declaration (DTD).
文档类型声明(DTD或文档类型声明)有以下作用:
在对网页进行HTML验证测试时,它告诉HTML(超文本标记语言)验证器,网页编码应符合哪个版本的(X)HTML标准。当您验证网页时,HTML验证器会检查编码是否符合适用的标准,然后报告哪些部分的编码未通过HTML验证(不兼容)。
它告诉浏览器以标准兼容模式呈现页面。
如果网页编码不包括DOCTYPE声明(DTD或文档类型声明),或者它错误地完成:
您将无法使用HTML(超文本标记语言)验证器检查页面编码。 HTML验证需要DOCTYPE声明。
渲染网页的浏览器将以怪异模式处理编码。
样式表可能无法按计划实现。
您应该使用哪个DOCTYPE?
如果您是HTML(超文本标记语言)的初学者,我建议您使用HTML 4.01 Transitional
声明。它对初学者更加宽容,当执行HTML验证时更容易通过。如果您知道您的受众没有支持CSS(层叠样式表)的浏览器,也可以使用此声明。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
这个DOCTYPE声明仍然允许应该在样式表中的元素和表示属性。
如果你想为未来学习编码,但还没有准备好使用XHTML,那么你可以使用Strict声明。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
通过这个声明,所有的展示属性都被移动到样式表中。
在有效DTD列表中可以找到完整的DOCTYPE声明列表。
在HTML文档中,doctype声明应该是第一件事情,在标签之前。
doctype声明不是一个HTML标签;它是对浏览器的指示,告诉它页面所使用的标记语言版本。
doctype声明引用了文档类型定义(DTD)。DTD指定了标记语言的规则,以便浏览器正确地呈现内容。
引自这里:http://www.w3schools.com/tags/tag_doctype.asp
:)
为了理解 DOCTYPE 的重要性,让我们从浏览器之战的时代开始回顾一些历史。在那个时候,网页被写成两个不同的版本,以支持 Internet Explorer 和 Netscape Navigator 两种浏览器。
但后来,W3C 接管了 Web 标准的定义。但不幸的是,拥有新标准的浏览器无法呈现为旧版浏览器构建的网页。因此,为了支持为旧版浏览器构建的网站,引入了 怪异模式。在此模式下,浏览器假定您编写了老式、无效的标记和代码,符合上世纪90年代令人沮丧的行业规范。
为了区分这些网站与新网站,添加了 DOCTYPE,它向浏览器发出信号,表明应在 标准模式 下呈现此网页。
在 HTML5 之前,HTML 是基于 SGML 的,需要一个 文档类型定义(DTD)来建立标记的规则和语法。因此,doctype 还包含有关文档类型定义(DTD)的其他信息。
然而,随着 HTML5 的推出,DOCTYPE
是唯一需要启用标准模式的东西。
<!DOCTYPE HTML>
表示这段代码是HTML。