html各版本与Doctype、DTD

来源:互联网 发布:模具网络接单平台 编辑:程序博客网 时间:2024/06/12 12:36

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会以标准模式表现。

 

 

 

 

 

原创粉丝点击