不可忽视的DOCTYPE

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文件
201202291109512536.gif

参考内容:http://www.cnblogs.com/shishm/archive/2012/02/29/2373080.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容