定义
DOCTYPE
DOCTYPE(是Document Type文档类型的简写)是一组机器可读的规则,它们指示(X)HTML文档中允许有什么,不允许有什么,DOCTYPE正是用来告诉浏览器使用哪种DTD,一般放在(X)HTML文档开头声明)用以告诉其他人这个文档的类型风格。
严格模式
严格模式是浏览器根据web标准去解析页面,是一种要求严格的DTD,不允许使用任何表现层的语法。
混杂模式
混杂模式则是一种向后兼容的解析方法,说的透明点就是可以实现IE5.5以下版本浏览器的渲染模式。
注意:HTML4.01基于SGML,需要指定DTD,HTML5不基于SGML,所以不用指定DTD
XHMLT兼容性问题
- 目前大多数浏览器都支持
XHTML
,其中包括Firefox
、Chrome
、Safari
、Opera
和IE浏览器(IE 9)。(Internet Explorer 8和旧浏览器在看到正确配置的XHTML
MIME
类型的XHTML
文档时,会显示未知文件类型的下载对话框)。 - 另外,有许多流行的
JavaScript
库和开发工具对XHTML
也并不支持。
常见的DOCTYPE
HTML4.01
- HTML4.01 strict 严格模式:不允许使用表现性、废弃元素(如font)以及frameset。 声明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
- HTML4.01 Transitional 过滤模式:允许使用表现性、废弃元素(如font),不允许使用frameset。 声明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
- HTML4.01 Frameset 宽松模式:允许表现性元素,废弃元素以及frameset。 声明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN""http://www.w3.org/TR/html4/frameset.dtd">
XHTML
- XHTML1.0 Strict 严格模式:不使用允许表现性、废弃元素以及frameset。文档必须是结构良好的XML文档。 声明:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- XHTML1.0 Transitional 过滤模式:允许使用表现性、废弃元素,不允许frameset,文档必须是结构良好的XMl文档。 声明: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- XHTML 1.0 Frameset 宽松模式:允许使用表现性、废弃元素以及frameset,文档必须是结构良好的XML文档。 声明:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
- XHTML 1.1:相当于XHTML1.0 Strict,但允许添加模型。 声明:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
HTML5
- HTML5:<!DOCTYPE html>