- HTML5、CSS和JavaScript开发
- 孙鑫 付永杰编著
- 608字
- 2020-08-28 22:02:59
1.3 HTML文档类型
DTD(Document Type Definition,文档类型定义),是用来定义XML文档结构的(HTML可以看成是XML的一种应用,其DTD作为标准而固定下来了),对XML文档中元素和属性的使用规则及相互关系作出了定义。
由于历史原因,很多网页的HTML代码是相当混乱的,并不符合HTML标准规定的写法,如果浏览器严格遵循标准来解析这些页面,将导致页面不能正确呈现,这将是一场灾难,毕竟很多早先的网页都不符合标准。为了解决这个问题,微软在IE 5中尝试通过检查文档类型(doctype)来确定页面是否符合标准。如果页面没有使用文档类型声明,浏览器将采用“quirks模式”按照自己的方式来呈现页面。为了让浏览器按照我们想要的方式来呈现页面,我们应该在HTML代码的第一行,使用文档类型声明,来告诉浏览器页面所遵循的DTD,已经所使用的HTML版本。
HTML 4.01指定了3个DTD,页面作者在编写网页时,应该在页面代码的第一行,使用如下的文档类型声明之一,来说明页面遵循的DTD。
(1)<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
严格的DTD,遵循这种DTD,表明页面中不会使用废弃的元素和属性,也不会使用框架。
(2)<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
松散的DTD,遵循这种DTD,表明页面中可能会使用废弃的元素和属性,但不会使用框架。
(3)<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
框架DTD,遵循这种DTD,表明页面中可能会使用废弃的元素和属性,以及框架。
注意
文档类型声明与文档类型定义不是一个概念,DTD是文档类型定义(Document Type Definition)的缩写。在HTML代码中使用的上述语法是文档类型声明。在DTD文档中,<!ELEMENT greeting (#PCDATA)>这种语法是文档类型定义。文档类型声明可以包含(内部DTD子集)或引用(外部DTD子集)一个文档类型定义。