为什么我们需要DOCTYPE到HTML / JSP页面?

时间:2010-06-30 09:02:01

标签: html jsp doctype

为什么我们需要HTML / JSP页面中的doctype?如果没有它,页面似乎可以正常工作。

6 个答案:

答案 0 :(得分:8)

Zeldman wrote

  

根据HTML和XHTML标准,a   DOCTYPE(“文档类型的缩写”   声明“)通知验证者   你正在使用哪个(X)HTML版本,   并且必须出现在最顶端   每个网页。 DOCTYPE是关键   合规网页的组成部分:您的   没有标记和CSS将无法验证   它们。

并查看24条文章“Transitional vs. Strict Markup

即将发布的HTML 5,您只需要声明

<!DOCTYPE HTML>

答案 1 :(得分:8)

特别是Microsoft IE在某些文档类型或完全缺乏doctype方面存在严重问题。 At the bottom of this page您可以结合某些文档类型找到浏览器行为的简明概述。有三种标准行为:

  • Q - Quirksmode。你真的不想拥有它。它在IE中触发box model bug。然后,CSS widthheight会错误地覆盖paddingborder
  • A - 几乎标准模式。经济实惠,只有表格单元的垂直尺寸不符合CSS2规范。如果您想避免mysterious gaps of images in table cells
  • ,则非常有用
  • S - 标准模式。浏览器尝试完全符合HTML / CSS标准。首选模式,因为它是唯一可以确保您的网站在所有浏览器中看起来完全相同的模式。

这是一段HTML,演示了IE中的盒子模型错误。 Copy'n'paste'n'run它。当<!DOCTYPE html>出现时,您会看到一个矩形。没有doctype线,你会看到一个真正的广场。

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Remove DOCTYPE to trigger quirksmode</title>
        <style>
            #box { 
                background: yellow; 
                width: 100px;
                padding: 20px; 
                border: 20px solid black; 
                margin: 20px;
            }
        </style>
    </head>
    <body>
        <div id="box">box</div>
    </body>
</html>

当您需要“pixelperfect”网页设计时,此IE错误的影响最明显。

答案 2 :(得分:1)

有关完整讨论,请参阅http://www.quirksmode.org/css/quirksmode.html;简而言之,doctype应该触发页面渲染和行为的怪癖/严格模式。

不幸的是,人们在不知道他们做什么的情况下开始投入文档,从而减少了他们的实用性。

答案 3 :(得分:0)

当然,所有html文档都需要DOCTYPE来声明html的版本并告诉浏览器如何翻译html 这样你就可以避免许多浏览器错误。

答案 4 :(得分:0)

在页面上设置DOCTYPE时,会强制浏览器进入标准合规模式,这会强制执行更严格的渲染规则。

如果您不使用它,IE可能会退回到怪癖模式,这可能会导致页面显示问题。

请参阅Remember to declare your doctype上的此链接。

答案 5 :(得分:0)

doctype它是浏览器关于标记语言版本的使用说明。 doctype启用html属性。