被忽视的DOCTYPE说明分析

  发布时间:2010-02-11 14:21:08   作者:佚名   我要评论
自己在做web开发的时候,往往着重于界面设计及数据逻辑上的处理,而对一些细节不是特别注意。
doctype就是其中一个:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1.  doctype是什么
  doctype标签 用来指定document的dtd(Document Type Definition)的,写在每个html的最前面,形如:
  <!DOCTYPE RootElement Availability "URI" [declarations]>
如几种常见的doctype:
HTML 4.01: Strict<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
XHTML 1.1 Strict DTD<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2.  doctype能做什么
  有没有指定doctype, 以及指定不同的doctype都会激活不同的浏览器模式,从而产生对一些对html,css和js的影响,其中最著名的就是所谓的盒模型问题。
  2.1  为什么会有多种模式
  在很久很久以前还是netscape和ie争霸天下的时代,由于太强大了,浏览器模式是由浏览器自己说了算的。时光流逝,转眼到了战国群雄的时代,大家发现如果都自己说了算的话天下就乱套了,就商量说推举个盟主吧,于是w3c就上台了。但是问题又来了,譬如IE,虽说再不能一头独大,向标准看齐是大势所趋,但是假如浏览器只支持标准的话,之前的许多页面又会产生一些问题。
  于是doctype应运而生,假如没有指定任何doctype,就采用原先的模式,被称为怪癖模式(Quirks Mode),假如指定了doctype,就遵循标准,被称为标准模式或严格模式(Standards Mode)。期间,以Mozilla为代表的几位,觉得标准模式里诸如img的解析不是很合适,就保留了一些个人意见,在指定一些特定的doctype情况下,会采用一种准标准模式(Almost Standards Mode),具体情况请参考Activating Browser Modes with Doctype,或是@随网之舞的译文用doctype激活浏览器模式。
  2.2  不同模式的具体影响
  @ppk大牛已经给我们做了很好的总结,Quirks mode and strict mode。
3.  建议采用的doctype
  <!DOCTYPE HTML>
  理由:支持html5,在不识别的情况下,会采用严格模式。
  再加入一些reset css,如img { display: block }解决浏览器兼容问题。
  需要提醒注意的是,现在很多人使用的<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">以及<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">在几个主要浏览器下都只相当于怪癖模式,换句话说,可以不加。

相关文章

  • html doctype 作用介绍

    html doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档,下面为大家详细介绍下,希望对大家有所帮助
    2014-01-08
  • IE下文本模式!DOCTYPE作用介绍

    文档类型(英文简称!DOCTYPE,英文全称DOCumentTYPE),它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档
    2013-04-19
  • DOCTYPE 中xhtml 1.0和 html 4.01区别分析

    经常会用到DOCTYPE,常用的有xhtml 1.0和html 4.01,总结了下他们之间的区别
    2011-08-03
  • DOCTYPE元素详解 完整版

    本文系统的讲解DOCTYPE元素.同时查证了很多的资料.因为互联网上面的资料比较杂乱,所以经过收集整理我进行了重新定义.
    2011-02-24
  • DOCTYPE声明作用及用法详解

    很多朋友不知道DOCTYPE声明的作用,特为大家搜索整理了这篇文章,希望对需要的朋友有所帮助。
    2011-01-26
  • 为什么使用DOCTYPE HTML

    不管是刚接触前端,还是你已经精通web前端开发的内容,你应该知道在你写html的时候需要定义文档类型
    2010-10-29
  • HTML DOCTYPE的缩写

    写HTML代码的时候,第一行就要写DOCTYPE,而DOCTYPE一般都很长,大家也懒得去记,所以基本都是直接去复制以前写过的。不过今天了解到一种 DOCTYPE 的缩写.
    2009-07-24
  • HTML教程:DOCTYPE 的缩写

    写HTML代码的时候,第一行就要写DOCTYPE,而DOCTYPE一般都很长,大家也懒得去记,所以基本都是直接去复制以前写过的。不过今天了解到一种 DOCTYPE 的缩写,如果你的 DOCTYP
    2009-04-02
  • DOCTYPE类型详细介绍

    我们在HTML里面声明DOCTYPE一般会有以下几种: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD
    2008-10-17
  • HTML 版本声明 DOCTYPE 标签

    由于不是HTML标签,它只是一条浏览器指令,告诉浏览器编写页面所用的标记的版本,所以不需要成对出现
    2014-02-03

最新评论