可能是重复问题:
HTML: 什么是!DOCTYPE的功能
我最近在这里提问,解决方案很简单:
你需要在页面中添加一个文档类型声明。这应该可以解决你的问题。
现在,我的页面在没有文档类型声明的情况下在每个浏览器中都可以正常工作(除了IE)。IE是否需要文档类型声明(这是IE特有的事情),其他浏览器是否只是假定它 或者 它正在做我没看到的一些事情。
它的功能是什么,它是如何工作的呢?
可能是重复问题:
HTML: 什么是!DOCTYPE的功能
我最近在这里提问,解决方案很简单:
你需要在页面中添加一个文档类型声明。这应该可以解决你的问题。
现在,我的页面在没有文档类型声明的情况下在每个浏览器中都可以正常工作(除了IE)。IE是否需要文档类型声明(这是IE特有的事情),其他浏览器是否只是假定它 或者 它正在做我没看到的一些事情。
它的功能是什么,它是如何工作的呢?
所有浏览器都需要DOCTYPE。如果没有 DOCTYPE
,则会强制浏览器在怪异模式下呈现。
然而,浏览器在确定方言和解析方面只部分使用了 DOCTYPE
,尽管这是其目的。这就是为什么HTML5将 DOCTYPE
简化为::
<! DOCTYPE html>
2.2. DOCTYPE
HTML5的HTML语法要求指定DOCTYPE以确保浏览器以标准模式呈现页面。 DOCTYPE没有其他作用,因此对于XML来说是可选的。带有XML媒体类型的文档始终以标准模式处理。 [DOCTYPE]
DOCTYPE声明是
<! DOCTYPE html>
,在HTML语法中不区分大小写。较早版本的HTML的DOCTYPE更长,因为HTML语言基于SGML,因此需要引用DTD。但在HTML5中不再需要,DOCTYPE仅用于启用使用HTML语法编写的文档的标准模式。浏览器已经为<! DOCTYPE html>
执行此操作。
Doctype有两个作用:
如果没有Doctype或者存在未被识别的Doctype,那么浏览器会使用“怪异”模式并尽力解释文档。如果存在Doctype并被识别出来,那么浏览器就按照标准进行解析。渲染结果可能因为如何解释文档而有所不同。
DOCTYPE
仅存在于向后兼容性。所以是的,我是说当规范被取代时。 - Kevin Peno根据W3Schools的定义,文档类型(doctype)是“网页编写所使用标记语言版本的指示,用于告诉浏览器应该如何解析网页”。(http://www.w3schools.com/tags/tag_doctype.asp)
如果你没有包含文档类型,浏览器可能会认为你使用的是不同于实际情况的语言,导致页面呈现不正确。