文档模式
ie5.5发明了文档模式的概念,即可以使用doctype切换文档模式。最初的文档模式有两种:混杂模式和标准模式。前者让IE像IE5一样支持一些非标准的特性,后者让IE具有兼容标准模式的行为。虽然这两种模式的主要区别只体现通过css渲染的内容方面,但对JavaScript也有一些关联影响,可以称为副作用。
随着浏览器的对文档模式的普遍实现,又出现了第三种文档模式:准标准模式。这种模式下的浏览器支持很多标准的特性,但是也没有标准规定的那么严格。主要区别在于对待图片元素周围的空白(在表格中使用时最为明显)。
混杂模式在所有的浏览器中以省略文档开头的doctype声明作为开关。
标准模式通过以下几种文档类型声明开启
<!-- html 4.0.1 strict -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!-- XHTML 1.0 Strict -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<!-- HTML5 -->
<!DOCTYPE html>
标准模式通过过渡文档类型和框架集文档类型来触发
<!-- html 4.0.1 transitional -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- html 4.0.1 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">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<!-- 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高级程序设计一书
整理不易,望点赞给鼓励!