Skip to main content

DTD 是什么及作用?

DTD 是什么及作用?

DTD 的全称是 Doctype declaration [dekləˈreɪʃn] 文档对象声明,对于 HTML 或者 XHTML,添加文档对象声明能确保不同浏览器使用相同的方式解析页面。不设置 DOCTYPE 或者做了错误的设置会触发怪异模式,在 HTML 最顶部添加<!DOCTYPE html>则表示使用标准模式。

DTD 产生的历史原因是什么(背景)?

在 HTML 与 CSS 的标准化未完成之前,各个浏览器对于 HTML 和 CSS 的解析有各自不同的实现,而有很多旧的网页都是按照这些非标准的实现去设计的。在 HTML 与 CSS 标准确定之后,浏览器一方面要按照标准去实现对 HTML 与 CSS 的支持,另一方面又要保证对非标准的旧网页设计的兼容性。

在怪异模式下不同的浏览器的渲染模式是不一样的,这就导致开发者需要花费大量精力用在不同浏览器渲染效果一致性上。而在标准模式浏览器一致性表现要好的多。

什么是怪异模式和标准模式?

在标准模式下,浏览器按照 HTML 与 CSS 标准对文档进行解析和渲染 在怪异模式下,浏览器则按照旧有的非标准的实现方式对文档进行解析和渲染。

二者有什么差别(举例)?

一个典型的例子是 IE 盒模型。IE5 使用和 CSS 规范不一样的盒模型计算方式。到了 IE6,微软想改回和 CSS 规范一致的盒模型算法,可是当时已经有大量老页面使用的是老的非标准盒模型算法,冒然修改算法必然导致所有老页面页面错乱。 解决办法:是规定新页面页面头部需要加上 DTD 文档对象声明表示当前使用新的标准规范,而没有加声明的老页面依旧用老的算法去渲染。

使用时需要注意什么?

<!DOCTYPE html>需要放在页面的最顶部,并且前面不要有其他字符。