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

为什么我们需要对HTML/JSP页面使用doctype?

  •  5
  • Puru  · 技术社区  · 14 年前

    为什么在HTML/JSP页面中需要doctype?没有它,页面似乎可以工作。

    6 回复  |  直到 9 年前
        1
  •  8
  •   Ye Lin Aung    14 年前

    塞尔德曼 wrote

    根据HTML和XHTML标准,a doctype(文件类型的缩写) 声明通知验证器 您正在使用的(x)HTML的哪个版本, 必须出现在 每一个网页。 doctypes是一个键 兼容网页的组件:您的 标记和CSS不会验证 他们。

    看看24种方式的文章” Transitional vs. Strict Markup

    在接下来的HTML 5中,您只需要声明

    <!DOCTYPE HTML>
    
        2
  •  8
  •   BalusC    14 年前

    特别是,Microsoft IE的某些doctype存在严重问题,或者缺少doctype。 At the bottom of this page 您可以结合某些doctypes找到浏览器行为的简要概述。有三种标准行为:

    • Q—quirksmode。你真的不想这样。它触发 box model bug 在I. CSS中 width height 然后错误地覆盖 padding border .
    • 几乎是标准模式。价格合理,只有表格单元格的垂直大小不符合CSS2规范。如果要避免 mysterious gaps of images in table cells .
    • S-标准模式。浏览器试图完全符合W3HTML/CSS标准。首选模式,因为这是唯一的模式,你可以少或更确定你的网站将完全相同的所有浏览器。

    下面是一段HTML,它演示了IE中的框模型错误:复制粘贴运行。用 <!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 bug的影响是最明显的。

        3
  •  1
  •   Piskvor left the building Rohit Kumar    14 年前

    http://www.quirksmode.org/css/quirksmode.html 对于完整的讨论,简而言之,doctype应该触发页面呈现和行为的怪癖/严格模式。

    不幸的是,人们开始在不知道自己在做什么的情况下输入教义,从而降低了他们的有用性。

        4
  •  0
  •   Caspar    11 年前

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

        5
  •  0
  •   James-Jesse Drinkard    10 年前

    当您在页面上设置doctype时,这将强制浏览器进入标准符合性模式,这将强制执行更严格的呈现规则。

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

    在上查看此链接 Remember to declare your doctype .

        6
  •  0
  •   pawan    9 年前

    doctype它是向浏览器发出的有关使用标记语言版本的指令。 doctype启用html属性。