什么是DOCTYPE ... for

时间:2011-07-15 18:07:11

标签: html netbeans

  

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

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

我删除它,我的HTML仍然有用。我想知道那是什么,是否有必要?

谢谢。

6 个答案:

答案 0 :(得分:3)

doctype声明不是HTML标记;它是Web浏览器关于页面编写的标记语言版本的说明。

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

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

答案 1 :(得分:3)

  

文档类型声明或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

答案 2 :(得分:3)

我相信如果您没有指定doctype,浏览器将添加默认值,这就是它的工作原理。添加该行会覆盖默认值以指定您需要该特定标记语言。

答案 3 :(得分:3)

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

声明doctype意味着浏览器不必进行最佳猜测,而是根据与您声明的doctype相关的规范呈现页面。

以下是一些关于某些DTD之间差异的有趣文章:

答案 4 :(得分:3)

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

<!doctype html>

答案 5 :(得分:0)

Doctype告诉浏览器你在写什么版本的HTML或XHTML,所以它可以按原样对待它。

没有Doctype它会起作用,但浏览器不知道究竟是什么版本。