原文链接:
DOCTYPE的作用:文档类型与浏览器模式
DOCTYPE
DTD(document type definition,文档类型定义)
一系列的语法规则, 用来定义XML或(X)HTML的文件类型。浏览器会使用它来判断文档类型, 决定使用何种协议来解析, 以及切换浏览器模式。-
DOCTYPE
用来声明文档类型和DTD规范, 一个主要用途就是文件的合法性验证. DOCTYPE声明包括标准版本和一个DTD文件的URI.
eg:-
html5
<!DOCTYPE html>
-
html4.01 strict
该DTD包含所有html元素和属性, 不包括展示性和弃用的元素(如
font), 不允许框架集(Frameset).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-
html4.01 transitional
该 DTD 包含所有HTML元素和属性, 包括展示性的和弃用的元
素(比如 font)不允许框架集(Framesets).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
html5
浏览器模式
标准模式(standards mode): 浏览器根据标准规约来渲染页面.
混杂模式(quirks mode): 浏览器采用更加宽松的、向后兼容的方式来渲染页面。该模式下浏览器会模仿旧浏览器的行为, 比如IE6,在此基础上兼容新的标准特性. 又称兼容模式、怪异模式等。-
DOCTYPE切换
浏览器根据不同的DOCTYPE选择不同的渲染方法,用来识别和兼容旧网页的。浏览器会采用标准模式渲染的情况:
- 给出了完整的DOCTYPE声明
- DOCTYPE声明了Strict DTD
- DOCTYPE声明了Transitional DTD和URI
浏览器会采用混杂模式渲染的情况:
- DOCTYPE声明了Transitional DTD但未给出URI
- DOCTYPE声明不合法
- 未给出DOCTYPE声明