代码之家  ›  专栏  ›  技术社区  ›  Exitos

HTML表单顶部的doctype声明有什么意义?它能改变什么吗?

  •  3
  • Exitos  · 技术社区  · 15 年前

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

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

    总是让我困惑。到底是为了什么?如果我去掉它,会有什么影响?

    我了解W3C关于嵌套元素等的约定,但实际上会发生什么呢?为什么浏览器的声明会失败,或者如果我去掉它,会发生什么?

    干杯, 皮特

    4 回复  |  直到 14 年前
        1
  •  4
  •   meder omuraliev    15 年前

    它使浏览器进入标准模式,使浏览器正确地渲染元素。不是所有doctype都会将浏览器置于标准模式,请参见 this chart . 如果不使用有效的doctype将浏览器切换到标准模式,浏览器将基本上尝试在2002-2003年,当所有人都使用蹩脚的表格布局时,根据“标准”(或缺乏标准)呈现页面。你 不 想要怪癖模式。

    结论 :始终使用doctype。

        2
  •  0
  •   Yoshiyahu    15 年前

    它向浏览器显示将要使用的元素,并影响页面的呈现。(主要是IE)

    在许多情况下,如果省略doctype,元素将不会总是正确显示。

        3
  •  0
  •   Quentin    15 年前

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

    理论上:

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

    在实践中:

    在HTML 5中:

    • 它是一个神秘的字符串,用于启动文档,以便触发标准模式
        4
  •  0
  •   Bill the Lizard    14 年前

    doctype声明告诉浏览器应该如何解释后面的HTML内容。在MarkPilgrim的书的引言中有一个很好的概述,说明了如何以及为什么 Dive Into HTML 5