[英]Why do I need a doctype? (What does it do) [duplicate]
可能重复:
HTML:!DOCTYPE的功能是什么
我最近在这里问了一个问题,解决方案很简单:
您需要向页面添加doctype。 这应该为您解决问题。
现在,我的页面在没有doctype(IE除外)的每个浏览器中都能正常工作。 IE是否需要doctype(这是IE唯一的东西)并且其他浏览器只是假设OR或者它正在做我没有看到的东西。
它的功能是什么?它是如何工作的?
所有浏览器都需要doctype。 如果没有DOCTYPE
,则强制浏览器以Quirks模式呈现。
但是, 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? 因为它定义了文档实际使用的(X)HTML版本,这是处理文档的某些工具所需的关键信息。
例如,指定文档的doctype允许您使用诸如标记验证器之类的工具来检查(X)HTML的语法。 如果这些工具不知道您使用的是哪种文档,则无法使用这些工具。
但最重要的是,对于大多数浏览器系列而言,doctype声明会使大量猜测变得不必要,从而触发“标准”渲染模式。
资料来源: http : //www.w3.org/QA/Tips/Doctype
浏览器至少需要以所谓的标准模式进行渲染。 请参阅John Resig关于html 5 doctype的文章: http : //ejohn.org/blog/html5-doctype/ 。 现在,如果您希望您的浏览器不使用标准并像1990年一样渲染并且不添加任何东西,您将看到浮动和其他现在标准项目无法正常工作。 如果您希望根据特定标准对页面进行渲染/验证,那么您可能希望向doc类型添加更多内容,但这不是必需的。
从W3Schools开始,doctype是“向Web浏览器发送关于页面编写的标记语言版本的指令”。 (http://www.w3schools.com/tags/tag_doctype.asp)
如果您不包含doctype,浏览器可能会假设您使用的语言与实际语言不同,导致其呈现不正确。
在标记之前,doctype声明应该是HTML文档中的第一件事。
doctype声明不是HTML标记; 它是Web浏览器关于页面编写的标记语言版本的指令。
doctype声明引用文档类型定义(DTD)。 DTD指定标记语言的规则,以便浏览器正确呈现内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.