怎么办?

时间:2011-10-08 05:44:18

标签: html doctype

这个标签有什么作用?

<!doctype html>

我能看到的是,这个标签位于顶部,我的html表现得与其他方式不同。 我怎么知道我是否需要这个标签?

6 个答案:

答案 0 :(得分:109)

它是HTML as defined in the specification的一个组成部分:

  

8.1.1 DOCTYPE

     

DOCTYPE是必需的序言。

     

由于遗留原因,需要DOCTYPE。省略时,浏览器倾向于使用与某些规范不兼容的其他渲染模式。在文档中包含DOCTYPE可确保浏览器尽最大努力遵循相关规范。


编辑添加:

  

这个安全带做了什么?

     

Seatbelt image

     

我能看到的是,在这个安全带打开的情况下,我的车的行为与没有安全带一样。我怎么知道我是否需要这个安全带?

在出现问题并且没有它之前,你不会知道你是否需要它。

答案 1 :(得分:17)

DOCTYPE Declaration is the abbreviation for Document Type Declaration (DTD).

DOCTYPE声明(DTD或文档类型声明)做了两件事:

  1. 在网页上执行HTML验证测试时,它告诉HTML(超文本标记语言)验证器网页编码应符合哪个(X)HTML标准版本。当您验证网页时,HTML验证程序会根据适用的标准检查编码,然后报告编码的哪些部分未通过HTML验证(不符合要求)。

  2. 它告诉浏览器如何以符合标准的模式呈现页面。

  3. 如果网页编码不包含DOCTYPE声明(DTD或文档类型声明)或者操作不正确:

    1. 您将无法使用HTML(超文本标记语言)验证程序来检查页面编码。 HTML验证需要DOCTYPE声明。

    2. 渲染网页的浏览器将以怪癖模式处理编码。

    3. 样式表可能未按计划实施。

    4. 您应该使用哪种DOCTYPE?

      如果您是HTML(超文本标记语言)的初学者,那么我建议您使用 HTML 4.01 Transitional 声明。在执行HTML validation时,初学者会更宽容。如果您知道您的观众没有支持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">
      

      使用此声明,所有表示属性都将移动到样式表。

      您可以在文档中使用的List of valid DTDs获取DOCTYPE声明(DTD)的完整列表。

答案 2 :(得分:5)

  

doctype声明应该是HTML中的第一件事   文档,在标记之前。

     

doctype声明不是HTML标记;这是一个指示   Web浏览器,了解该页面的标记语言版本   写的。

     

doctype声明引用文档类型定义(DTD)。   DTD指定标记语言的规则,以便   浏览器正确呈现内容。

从这里引用:http://www.w3schools.com/tags/tag_doctype.asp

:)

答案 3 :(得分:3)

Doctype声明会在浏览器中触发标准模式,并且应始终使用。应始终避免怪癖模式。

答案 4 :(得分:1)

浏览器大战和2种模式

要理解DOCTYPE的重要性,让我们从浏览器大战的日子开始深入探讨一些历史。在那些日子里,网页分为两个不同版本,以支持Internet ExplorerNetscape Navigator

然后W3C接管了定义Web标准。但遗憾的是,具有新标准的浏览器无法呈现为旧版浏览器构建的网页。因此,为了支持为旧版浏览器构建的网站QUIRK MODE。其中浏览器假设你已经根据20世纪90年代后期令人沮丧的行业规范编写了老式的,无效的标记和代码。

为了区分这些网站和新网站,我添加了DOCTYPE,这为浏览器提供了一个信号,表明该网页应该在STANDARD MODE中呈现。

HTML5&amp;&amp; HTML 4.01

在HTML5之前,html是基于SGML的,需要文档类型定义来为标记建立规则和语法。因此,doctype具有关于文档类型定义(DTD)的其他信息。

但是,通过引入HTML5,DOCTYPE是启用STANDARD MODE所需的唯一内容。

答案 5 :(得分:0)

简化:<!DOCTYPE HTML>表示代码是HTML。