为什么有必要使用doctype?

时间:2013-04-28 02:56:44

标签: html css

如果我们不包含doctype并且澄清<!DOCTYPE html>对所有新老浏览器都没问题,我们会遇到什么样的问题?

不包括<!DOCTYPE html>会有什么问题?

我已经阅读了Stack Overflow问题 What's up, DOCTYPE? ,但它没有发现问题。我想知道一些问题,有时答案提供者说你应该为另一类问题定义<!DOCTYPE html>,然后解决问题,就像我想知道各种问题一样。< / p>

1 个答案:

答案 0 :(得分:6)

最佳答案来自MDN

  

在网络的旧时代,网页通常写成两页   版本:一个用于Netscape Navigator,另一个用于Microsoft Internet   资源管理器。当Web标准在W3C制作时,浏览器就不能   刚开始使用它们,因为这样做会破坏大多数现有网站   网络。因此,浏览器引入了两种处理新模式的方式   符合标准的站点与旧的旧站点不同。

     

Web浏览器中的布局引擎现在使用了三种模式:   怪癖模式,几乎标准模式完整标准模式。怪癖   模式,布局模拟Navigator 4和Internet中的非标准行为   适用于Windows的Explorer 5,不需要破坏现有内容   在网上。在完全标准模式下,行为(希望)是   HTML和CSS规范描述的行为。几乎   标准模式,只有极少数的怪癖   实现。

     

浏览器如何确定使用哪种模式?

     

对于HTML文档,浏览器在开头使用DOCTYPE   文件,以决定是否以怪癖模式或标准处理它   模式。要确保您的页面使用完整标准模式,请确保   您的页面在此示例中具有DOCTYPE:

<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8>
<title>Hello World!</title>   
</head>
<body>
</body> 
</html>
  

示例中显示的DOCTYPE是最简单的   可能,以及HTML5推荐的那个。早期版本的   HTML标准推荐其他变体,但所有现有浏览器   今天将使用这个DOCTYPE的完整标准模式,即使是过时的   Internet Explorer 6.没有合理的理由使用更多   复杂的DOCTYPE。如果您使用其他DOCTYPE,则可能存在风险   选择一个,几乎触发标准模式或怪癖模式。

     

确保将DOCTYPE放在HTML的开头   文献。 DOCTYPE之前的任何内容,如注释或XML   声明将触发Internet Explorer 9及更早版本中的怪癖模式。

     

在HTML5中,DOCTYPE的唯一目的是激活完整   标准模式。较旧版本的HTML标准提供了额外的功能   对DOCTYPE有意义,但没有浏览器使用过DOCTYPE   除了在怪癖模式和标准模式之间切换之外的任何事情。

要回答第二个问题,建议您使用HTML5 doctype: <!DOCTYPE html>在每个浏览器(包括IE6)中触发标准模式。