在html表单顶部的doctype声明中有什么意义?它有什么改变吗?

时间:2010-11-24 16:34:48

标签: html xhtml

多年来一直在编写网络应用程序,这一行:

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

一直困惑我。究竟是什么?如果删除它有什么影响?

我理解有关嵌套元素等的w3c约定但是实际上发生了什么原因导致浏览器失败的声明或者如果我把它拿出来的话?

干杯, 皮特

4 个答案:

答案 0 :(得分:4)

它将浏览器踢入标准模式,这使浏览器正确呈现元素。并非所有文档类型都将浏览器踢入标准模式,请参阅this chart。如果没有使用有效的doctype来使浏览器进入标准模式,那么当所有人都使用糟糕的表格布局时,浏览器将基本上尝试根据2002-2003中的“标准”(或缺少标准)来呈现您的页面。你想要怪癖模式。

结论:始终使用doctype。

答案 1 :(得分:0)

doctype声明告诉浏览器它应该如何解释后面的HTML内容。在介绍Mark Pilgrim的书Dive Into HTML 5

时,对如何以及为何有了很好的概述。

答案 2 :(得分:0)

它会使浏览器使用哪些元素,并影响页面的呈现。 (主要是IE)

在许多情况下,如果省略DOCTYPE,元素将无法始终正确显示。

答案 3 :(得分:0)

在HTML 2.0,3.2,4.x和XHTML 1.x中:

理论上:

  • 它允许用户代理解码实体(例如&hellip;到...)
  • 它允许validator确定允许哪些标签,属性和属性值

在实践中:

在HTML 5中:

  • 这是一个用于启动文档的神秘字符串,以便触发标准模式