自己在做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">在几个主要浏览器下都只相当于怪癖模式,换句话说,可以不加。
最新资讯
爱彼迎称计划在纳斯达克交易所上市

爱彼迎称计划在纳斯达

房屋短租初创公司爱彼迎(Airbnb)周二表示,计划在纳斯达克
原始黑洞是否可能是暗物质?

原始黑洞是否可能是暗

英国著名物理学家斯蒂芬·霍金提出过一个观点:看不见的
“智慧药片”存在吗?未来喝下神奇药片或将变成“超人”!

“智慧药片”存在吗?未

如果有一种方法可以突破极限,实现能力无限呢?如果有种神
地球上的生命:我们可能要感谢月球现已不复存在的磁场

地球上的生命:我们可

一项新研究表明,大约40亿年前生命正孕育之时,月球上的磁
乐视控股所持大圣科技股权被拍卖 广汽集团成唯一竞买人

乐视控股所持大圣科技

几经波折,乐视控股(北京)有限公司(下称乐视控股)的资产近日
特斯拉大肆宣扬自动驾驶革命 竞争对手奔驰也将押注技术进化

特斯拉大肆宣扬自动驾

梅赛德斯·奔驰公司表示,他们已经开发出了一个类似特斯
最新文章
浅析html webpack plugin插件的使用教程

浅析html webpack plu

这篇文章主要介绍了html webpack plugin插件的使用教
HTML转PDF的纯客户端和纯服务端实现方案

HTML转PDF的纯客户端

这篇文章主要介绍了HTML转PDF的纯客户端和纯服务端实
HTML行内元素与块级元素有哪些及区别详解

HTML行内元素与块级元

这篇文章主要介绍了HTML行内元素与块级元素有哪些及区
html+css 实现图片右上角加删除叉、图片删除按钮

html+css 实现图片右

这篇文章主要介绍了html+css 实现图片右上角加删除叉
详解iframe的src指向的内容不刷新的解决办法

详解iframe的src指向

这篇文章主要介绍了详解iframe的src指向的内容不刷新
浅析HTML 悬浮float的用法

浅析HTML 悬浮float的

float的用途比较广, 本文主要给大家介绍HTML 悬浮floa