声明不是 html 标签;它是指示 web 浏览器关于页面使用哪个 html 版本进行编写的指令。
在 html 4.01 中, 声明引用 dtd,因为 html 4.01 基于 sgml。dtd 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
html5 不基于 sgml,所以不需要引用 dtd。
w3c建议:应该始终向 html 文档添加 声明,这样浏览器才能获知文档类型。
sgml(标准通用置标语言):是一种定义电子文档结构和描述其内容的国际标准语言。sgml本身并不是一个文档语言,但它描述了一种文档语言,因此它是一种元语言。
常用的 doctype 声明在 html 4.01 中有三种 声明。在 html5 中只有一种:
html 5
html 4.01 strict该 dtd 包含所有 html 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(framesets)。
html 4.01 transitional该 dtd 包含所有 html 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(framesets)。
html 4.01 frameset该 dtd 等同于 html 4.01 transitional,但允许框架集内容。