【问题标题】:What is the DOCTYPE... for [duplicate][重复] 的 DOCTYPE 是什么...
【发布时间】:2011-10-06 09:11:43
【问题描述】:

可能重复:
What's up, Doctype?

在 Netbeans IDE 中创建新文件时,我在文件开头得到 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

我删除它,我的 html 仍然有效。我想知道那是什么,有必要吗?

谢谢。

【问题讨论】:

标签: html netbeans


【解决方案1】:

doctype 声明不是 HTML 标签;它是对 Web 浏览器的指示,说明页面是用什么版本的标记语言编写的。

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

看这里:http://www.w3schools.com/tags/tag_doctype.asp

【讨论】:

    【解决方案2】:

    文档类型声明或 DOCTYPE 是将特定 SGML 或 XML 文档(例如,网页)与文档类型定义 (DTD)(例如,特定HTML 版本)。

    http://en.wikipedia.org/wiki/Document_Type_Declaration

    另外,来自 W3C:

    不只是一种 HTML,实际上还有很多:HTML 4.01 Strict、HTML 4.01 Transitional、XHTML 1.0 Strict 等等。所有这些类型的 HTML 都在其各自的 W3C 规范中定义,但它们也以机器可读的语言定义,指定一种 HTML 类型的合法结构、元素和属性。

    http://www.w3.org/QA/Tips/Doctype

    【讨论】:

      【解决方案3】:

      我相信如果你不指定文档类型,浏览器会添加一个默认的,这就是它起作用的原因。添加该行会覆盖默认值以指定您需要该特定标记语言。

      【讨论】:

        【解决方案4】:

        HTML 有许多变体,名称各异; XHTML、DHTML 等... 您的浏览器会尽力确定您的文档是用哪种变体编写的,但可能并不总是正确。特别是在 IE 中,如果您不声明经常导致大部分布局中断的 doctype,它将默认为“怪癖模式”。

        声明文档类型意味着浏览器不必做出最佳猜测,而是根据与您声明的文档类型相关的规范呈现您的页面。

        这里有一些关于一些 DTD 之间差异的有趣文章:

        【讨论】:

        • 它将在所有浏览器中默认为怪癖模式。 DHTML 不是 HTML 的变体。
        • @duri 是的...我在发布后想起了 DHTML,懒得删除它。如果所有浏览器都默认使用 quirks,那么 IE 的 quirks 模式就比其他浏览器差很多,这点仍然表明 IE 是唯一一个在没有 doctype 时布局会真正中断的浏览器。
        【解决方案5】:

        明确一点:除非我们关心验证,否则使用 doctype 的唯一原因是触发标准模式(参见其他 cmets)。浏览器区分 HTML 版本。这就是为什么建议选择尽可能简单的文档类型的原因:

        <!doctype html>
        

        【讨论】:

          【解决方案6】:

          Doctype 告诉浏览器您正在编写哪个版本的 HTML 或 XHTML,因此它可以按应有的方式处理它。

          没有 Doctype 也可以工作,但浏览器不会确切知道它是什么版本。

          【讨论】:

          • doctype 不仅仅是关于 html。有很多文档类型...例如
          • 是的,你是对的,还有 XML 和其他。 :) 我只是试图与一个简单的问题保持联系。
          猜你喜欢
          • 2010-09-29
          • 1970-01-01
          • 2013-04-21
          • 1970-01-01
          • 2012-08-20
          • 1970-01-01
          • 2017-10-05
          • 1970-01-01
          • 2012-03-06
          相关资源
          最近更新 更多