Rumah > Artikel > hujung hadapan web > <!DOCTYPE>到底是个神马?
前两天和朋友谈到,今天将网上学习到的资料在这里整理一下
因为HTML5的风靡人们慢慢的弱化了对的理解,但是现在还是有很多的面试官在问这个问题,所以还是有必要对其了解一下,以便以后有些许谈资。
要弄清楚这个问题,我们首先来解释一下浏览器的“标准模式”和“怪异模式”。
什么是“怪异模式”?简单说就是浏览器为了兼容很早之前针对旧版本浏览器设计、并未严格遵循W3C标准的网页而产生的一种页面渲染模式,而在这时渲染引擎也会切换到需要的版本。
什么是“标准模式”?当用户需要显示一些新的、满足W3C规范的页面时,渲染引擎切换到一个与“怪异模式”相对的“标准模式”,在此模式下渲染引擎就是当前的最新版本。这样也就满足了更多的W3C规范。
最后,“标准模式”和“怪异模式”合起来就称为浏览器的文档模式。
当在IE6的时代,为了既能遵循W3C标准,又能保证旧的网页能继续浏览,这样就产生了“标准模式”和“怪异模式”。这两种渲染模式都存在一个浏览器上,但是手动切换又不切实际,微软就提出了文档类型(DOCTYPE)这个在当时非常“新颖”的概念
就这样“华丽”的诞生了,先不说去谈论它的好坏,我们只说说它的作用:告知浏览器的解析器用什么文档标准去解析这个文档。
DOCTYPE 不存在或格式不正确会导致文档以“怪异模式”呈现。
HTML5 不基于SGML,因此不需要对DTD(Document Type Definition)进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应有的方式来运行)。
而HTML4.01基于SGML,所以需要对DTD(Document Type Definition)进行引用,告知浏览器文档所使用的文档类型。
注:SGML是国际上定义电子文档和内容描述的标准,基本思想是把文档的内容与样式分开。由SGML声明(SGML Declaration)、文档类型定义(Document Type Definition,DTD)和文档实例(Document Instance)组成。
参考来源:
http://www.cnblogs.com/zichi/p/5147159.html