DOCTYPE的作用
- DOCTYPE能告诉浏览器使用哪种html或者xhtml规范来解析文档,其中引入的dtd文件包含了标记、attributes、properties、约束规则,浏览器根据此规范来解析html文档。
- 另外DOCTYPE还会对浏览器的渲染模式产生影响,不同的渲染模式会影响浏览器对CSS、Javascript脚本的解析方式。
DOCTYPE的格式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
DOCTYPE由5部分构成
- 字符串 ”!DOCTYPE“
- 根元素通用标识符 ”html“
- 字符串 “PUBLIC”
- 被引号括起来的公共标识符(publiciId)
- 被引号括起来的系统标识符(systemId)
共3中dtd文件
- 要求严格的DTD(XHTML Strict DTD)
不能使用任何表现层的标识和属性(都交给CSS来实现),如<br>,因此整个html结构看起来非常干净,严谨
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- 要求宽松的过渡DTD(XHTML Transitional DTD)
允许你继续使用HTML4.01的标识
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- 使用框架的DTD(XHTML Frameset DTD)
当你希望使用框架时,使用此DTD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
两种渲染模式
- BackCompat:标准兼容模式未开启(又称怪异模式、混杂模式)
- CSS1Compat:标准兼容模式已开启(严格模式)
混杂模式能保证古董页面的正常渲染,让页面往后兼容,因此各浏览器之间表现出的差异将会最大化,标准模式就是现在说的w3c标准模式,式对统一标准实现最好的模式,它要求标签必须闭合,不能使用已经废弃的标签等等。
触发混杂模式的情况
- 不写文档类型头<!DOCTYPE html>
- 写了文档类型头,但没选择能触发混杂模式的dtd文件
参考内容:http://www.cnblogs.com/shishm/archive/2012/02/29/2373080.html
网友评论