1. HTML标准的版本历史 (来源于百度百科)
超文本置标语言(第一版)——在1993年6月发为互联网 工程工作小组 (IETF)工作草案发布(并非标准).
HTML 2.0——1995年11月作为RFC 1866发布,在RFC 2854于2000年6月发布之后被宣布已经过时
HTML 3.2——1996年1月14日,W3C推荐标准 HTML 4.0——1997年12月18日,W3C推荐标准
HTML 4.01(微小改进)——1999年12月24日,W3C推荐标准
XHTML 1.0——发布于2000年1月26日,是W3C推荐标准,后来经过修订于2002年8月1日重新发布。
XHTML 1.1, 于2001年5月31日发布 。
(XHTML 2.0, W3C工作草案)
HTML 5——2008年1月22日。
2. 关于Doctype与DTD
2.1 DOCTYPE! HTML 声明规范
1. HTML 4.01规范分为:Strict, Transitional, Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
2. XHTML 1.0规范分为:Strict, Transitional, Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
3. XHTML 1.1 DTD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4. HTML 5 标签
<!DOCTYPE HTML>
2.2 相关概念与理解
1. DOCTYPE:document type 文档类型,用来声明文件用的XHTML或HTML的版本。
2. DTD文档类型定义,是一个xml文档。如果你不写DTD,哪么浏览器就用自身的方式去解析你的文档,这样在各个浏览器中显示可能会不一样。DTD定义了浏览器是用标准方式解析文档。因为文档类型是有W3C联盟制定的标准,浏览器均支持这些标准。 另外,html版本不同,所支持的标签也有所不同,有些被淘汰,有些新增加。如果不定义正确的DTD声明,你的CSS和有些标识可能不会生效。
3. 文档类型声明中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
首先声明了文档的根元素是 html ,它在公共标识符 (public)被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD
中进行了定义。声明了公共标识符后(即PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" )浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
4. 在xhtml中的几种DTD
Transitional——要求宽松的DTD,允许使用HTML4.0的标识符但要符合XHTML的书写规范。
Strict——不能使用任何表现层的标识和属性。
Frameset——专门针对框架页面使用的。
5. 浏览器的工作模式:标准模式/严格模式(standars/strict mode)和怪异模式(quriks mode)
这两种模式的存在主要是为解决新版本的浏览器既要遵循标准规范,又要兼容以前老式版本的这样一个矛盾。标准模式遵循规范,根据 W3c推荐标准表现页面。而怪异模式按照老式版本的浏览器的规则显示页面, 在怪异模式下,css的解析有可能错误或不可预测。
这两种模式的区别主要是IE对和盒模型的解析:在标准模式中,网页元素的宽度是有padding,border,width三者的宽度相加决定的;而在怪异模式中,width就包括了padding和border的宽度。此外标准模式下的块级元素的经典居中方法设定width,然后margin-left:auto,margin-right:auto------在怪异模式下无法正常工作。
如何触发它们:
XHTML文档中只要包含形式完整的DOCTYPE,那么它一般就会以标准模式表现。
HTML4 文档,包含严格DTD的DOCTYPE会以标准模式表现。