您现在的位置:首页 >> 前端 >> 内容

DOCTYPE标签介绍

时间:2018/3/22 14:38:01 点击:

  核心提示:DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉SGML(Standard Generalized Markup language,标准通用标记语言)解析器,它应该使用什么样的...

DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉SGML(Standard Generalized Markup language,标准通用标记语言)解析器,它应该使用什么样的DTD(Document Type Definition,文档类型定义)来解析文档。DOCTYPE声明位于HTML文档中的第一行,DOCTYPE不存在或者格式不正确会导致文档以兼容模式呈现。

HTML 和 XHTML 的DOCTYPE 声明都有 strict/transitional/frameset 三种模式。strict 模式禁止所有 presetational or deprecatedelements(例如 font 标签)以及 frameset标签;transitional 模式只禁止了 frameset标签;frameset 模式与 transitional 模式相同,并且允许 frameset 标签。

XHTML 1.0 提供了三种DTD声明可供选择:

* 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法),完整代码如下: 
 
* 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如
,完整代码如下: 
 
* 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD,完整代码如下: 
 
我们选择什么样的DOCTYPE 
理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是目前理想选择。因为这种DTD还允许我们使用表现层的标识、元素和属性,也比较容易通过W3C的代码校验。 
注:上面说的"表现层的标识、属性"是指那些纯粹用来控制表现的tag,例如用于排版的表格、背景颜色标识等。在XHTML中标识是用来表示结构的,而不是用来实现表现形式,我们过渡的目的是最终实现数据和表现相分离。 
打个比方:人体模特换衣服。模特就好比数据,衣服则是表现形式,模特和衣服是分离的,这样你就可以随意换衣服。而原来HTML4中,数据和表现是混杂在一起的,要一次性换个表现形式非常困难

HTML5 需要写 ,因为HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行);

 而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。

Tags:DO OC CT TY 
作者:网络 来源:小丁的博客