背景知识
IE5.5发明了文档模式的概念,使用doctype切换文档模式,目的是让IE像IE5一样可以兼容不同CSS渲染的标准,在后来,很多浏览器也实现了文档模式这个概念
根据发展出现了以下三种类型:
- 混杂模式(quirks mode)
- 标准模式(standards mode)
- 准标准模式(almost standards mode)
一、混杂模式(quirks mode)
很少会使用,因为在这个模式下,不同浏览器的实现不一样,CSS渲染的结果会出现很多不一致的地方
省略<!DOCTYPE>的声明便可进入该模式
二、标准模式(standards mode)
<!-- HTML 5(常用写法) -->
<!DOCTYPE html>
<!-- HTML 4.0.1 Strict -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1//EN" "http://wwww.w3.org/TR/html4/strict.dtd">
<!-- XHTML 1.0 Strict -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://wwww.w3.org/TR/xhtml11/DTD/xhtml11-strict.dtd">
三、准标准模式(almost standards mode)
在该模式下,浏览器可以兼容很多标准的特性,但是没有标准模式那么严格,主要区别在于如何对待图片元素周围的空白
<!-- HTML 4.01 Transitional -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- HTML 4.01 Frameset -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!-- XHTML 1.0 Transitional -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- XHTML 1.0 Frameset -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
参考资料:
JavaScript高级程序设计(第4版)