<!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器的解析器, 用什么 文档类型规范 来解析这个文档。
- 声明的意义
只有确定了一个正确的文档类型,超文本标记语言或可扩展超文本标记语言中的标签和层叠样式表才能生效,甚至对JavaScript脚本都会有所影响。 - 对比一下文档类型声明
<!DOCTYPE html>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”
“http://www.w3.org/TR/html4/strict.dtd“> - 说明
- <!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
- 在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
- HTML5 不基于 SGML,所以不需要引用 DTD。
- 解释
- SGML(标准通用标记语言)
是一种定义电子文档结构和描述其内容的国际标准语言。 - XML(可扩展标记语言)
是 SGML 的一个子集,XML 于 1998 年 2 月 10 日成为 W3C 的推荐标准。 XML 是各种应用程序之间进行数据传输的最常用的工具。 - html 超文本标记语言
标准通用标记语言下的一个应用,HTML 最初也试图成为 SGML 的一个子集,但 HTML 4 以前并不严格符合 SGML 的标准。后来出现了 HTML4,XHTML (符合 XML 标准的 HTML),这两者都符合 SGML 的要求。 - html5
- 为了推动Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web超文本应用技术工作组 -WHATWG) 的组织。
- WHATWG 致力于 Web 表单和应用程序,而W3C(World Wide Web Consortium,万维网联盟) 专注于XHTML2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。
- 2012年12月17日,万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5规范已经正式定稿。根据W3C的发言稿称:“HTML5是开放的Web网络平台的奠基石。”
文章摘抄于百科与知乎
- 可以看出html5并不是基于SGML,而是一种更加简化,轻便的标记语言。
所以在使用html5时,文档开头定义文档类型时,可以直接简化
<!DOCTYPE html>
以前基于sgml的需要在文档内进行这样的文档类型定义HTML PUBLIC "-//W3C//DTD……
- DTD的意思是:文档类型定义 DTD(Document Type Definition)
文档类型定义是一套关于标记符的语法规则。它是标准通用标记语言和可扩展标记语言1.0版规格的一部分,是文档的验证机制。可通过比较文档和文档类型定义文件来看文档是否符合规范,元素和标签使用是否正确。 - 发现DTD上的语法规则并不包括html5。
面试时,先说最上一句
“<!DOCTYPE>声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器的解析器, 用什么 文档类型规范 来解析这个文档”