1. Doctype定义
这个标签是一种通用标记语言的文档类型声明,它主要就是告诉标准通用标记语言解析器应该使用什么样的文档类型定义 Document Type Definition(DTD)来解析文档。
2.Doctype作用
Doctype的作用就是声明文档的解析类型(document.compatMode),也就是告知浏览器的解析器用什么文档标准解析这个文档。如果DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。
3. 关于文档类型定义DTD,什么是DTD?
DTD是为新标记建立文档并进行规范说明。
自描述数据的规范。通俗的来说,DTD就是一套关于标记符的语法规则,是html的验证机制。
4. DTD的作用
DTD定义了文档中的元素(标记和属性)和实体,以及相互关系。数据和结构分离。
通过DTD验证XML文档的有效性。DTD为解析器提供了解析XML文档的依据。
所以每个XML文档必须指定对于哪个DTD有效。
5. DTD的分类
Strict如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用。
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。
如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时使用。
Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD。
6.举个栗子
//用于XHTML 4.0 的严格型
<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- 1
- 1
你不禁会想HTML5的声明什么都没有,浏览器也能解析呢?
//html5
<!DOCTYPE html>
- 1
- 1
Html5不基于 SGML,因此不需要对DTD进行引用;但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。 而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。
3. 标准模式与兼容模式的区别
标准模式的排版 和js运作模式都是以该浏览器支持的最高标准运行。
在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。