<!DOCTYPE> 声明必须位于HTML文档的开头,位于 <html> 标签之前。 用于告知浏览器当前页面使用的是那种HTML版本,在开始介绍DOCTYPE之前需要明白两个概念:
一、SGML(Standard Generalized Markup Language,即标准通用标记语言)
是一种定义电子文档结构和描述其内容的国际标准语言,通用标言为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在数据分类和索引中非常有用,是所有电子文档标记语言的起源,早在万维网发明之前“通用标言”就已存在。
二、DTD:文档类型定义(Document Type Definition)
是一套为了进行程序间的数据交换而建立的关于标记符的语法规则。它是标准通用标记语言和可扩展标记语言1.0版规格的一部分,文档可根据某种DTD语法规则验证格式是否符合此规则。
最后:<!DOCTYPE> 声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本。HTML5 不是基于 SGML的,因此不需要对DTD进行引用,但是仍然需要doctype来规范浏览器的行为,至于不声明DOCTYPE的后果,就是某些css的处理方式是根据浏览器喜好定的,不是根据标准走的,这样同一份代码在不同浏览器可能产生不同效果,所以写之前必须声明!而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型