DOCTYPE元素详解 详细版

1.简述

本文系统软件的解读DOCTYPE元素.另外核实了许多的材料.由于互联网技术上面的材料较为杂乱无章,因此历经搜集梳理我开展了再次界定.例如针对DOCTYPE元素的界定.关键分成基本专业知识和高級专业知识.基本专业知识解读基础的DOCTYPE专业知识. 高級专业知识许多来自互联网搜集, 关键是具体运用的1些技能.

2.界定

DOCTYPE是文本文档种类(Document Type)的缩写, <!DOCTYPE> 元素用于申明1个网页页面的文本文档种类界定(Document Type Declaration, 即DTD).此元素申明坐落于文本文档中的最前面的部位,处在 <html> 标识以前。根据确定网页页面的DTD,能够另外明确网页页面应用哪样W3C标准(例如 HTML 或 XHTML 标准)。

3.W3C标准

W3C标准的正确汉语翻译应当为W3C强烈推荐(W3C Recommendations).许多设计方案师的眼中W3C便是规范.可是很多人全是1知半解.下面列于了现阶段W3C标准中的HTML标准和XHTML标准,稍后会解读HTML和XHTML的关联:   

W3C HTML 标准和時间线

标准

强烈推荐

HTML 3.2

1997年1月14日

HTML 4.0

1998年5月24日

HTML 4.01

1999年12月24日

W3C XHTML 标准 和 時间线

标准

草案/建议

强烈推荐

XHTML 1.0

  

2000 年 1 月 26 日

XHTML 1.0 修定版

  

2002 年 8 月 1 日

XHTML 1.1

  

2001 年 5 月 31 日

XHTML Modules

  

2001 年 4 月 10 日

XHTML Modules 1.1

2006 年 7 月 5 日

  

XHTML Basic

  

2000 年 12 月 19 日

XHTML Basic 1.1

2006 年 7 月 5 日

  

XHTML Events

  

2003 年 10 月 14 日

XHTML Events 2

2007 年 2 月 16 日

  

XHTML Print

  

2006 年 9 月 20 日

XHTML Media Types

2002 年 8 月 1 日

  

XForms 1.0

  

2003 年 10 月 14 日

XForms 1.0 (SE)

  

2006 年 3 月 14 日

XForms 1.1

2007 年 2 月 22 日

  

XHTML 2.0

2006 年 7 月 26 日

  

XLink

  

2001 年 6 月 27 日

HLink

2002 年 9 月 13 日

  

     

XHTML能够当做是全新的HTML标准, 是1项可从 HTML 4.01 安稳转移的 XML 运用。W3C 把 HTML 4.01 重构为 XML 的第1个流程,致使了 XHTML 1.0 的诞生。XHTML 1.0 依靠于 HTML 4.01 标识所出示的词义。  

4.标准与DTD

网页页面文档根据<DOCTYPE>元素申明不一样的DTD, 来告之访问器当今网页页面合乎哪样HTML或XHTML标准.下面只例举HTML4.01和XHTML1.0两种标准有关的DTD:   

HTML

HTML 4.01 要求了3种文本文档种类:Strict、Transitional 和 Frameset。


HTML Strict DTD

假如您必须整洁的标识,可免于主要表现层的错乱,请应用此种类。请与堆叠款式表(CSS)相互配合应用:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd">


HTML Transitional DTD

Transitional DTD 可包括 W3C 所期待移入款式表的展现特性和元素。假如您的读者应用了不适用堆叠款式表(CSS)的访问器以致于您迫不得已应用 HTML 的展现特点时,请应用此种类:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">


Frameset DTD

Frameset DTD 理应被用于带有架构的文本文档。除 frameset 元素替代了 body 元素以外,Frameset DTD 等同于于 Transitional DTD:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "
http://www.w3.org/TR/html4/frameset.dtd">

  

XHTML

XHTML 1.0 要求了3种 XML 文本文档种类:Strict、Transitional 和 Frameset。


XHTML Strict DTD

假如您必须整洁的标识,可免于主要表现层的错乱,请应用此种类。请与堆叠款式表(CSS)相互配合应用:

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


XHTML Transitional DTD

Transitional DTD 可包括 W3C 所期待移入款式表的展现特性和元素。假如您的读者应用了不适用堆叠款式表(CSS)的访问器以致于您迫不得已应用 XHTML 的展现特点时,请应用此种类:

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


XHTML Frameset DTD

当您期待应用架构时,请应用此 DTD!

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

  

5.DOCTYPE 元素英语的语法

英语的语法

HTML 顶级元素 能用性 "申请注册//机构//种类 标识//界定 語言""URL"

  

英语的语法元素表明

顶级元素:特定 DTD 中申明的顶级元素种类。这与申明的 SGML 文本文档种类相对性应。 默认设置为HTML。

  

能用性:特定宣布公布标志符(FPI)是可公布浏览的目标還是系统软件資源。赋值能够为PUBLIC或SYSTEM.PUBLIC 默认设置。表明可公布浏览的目标。SYSTEM表明系统软件資源,如当地文档或 URL。

  

申请注册:特定机构是不是由国际性规范化机构(ISO)申请注册。

+为默认设置,表明机构名字已申请注册。

-表明机构名字未申请注册。Internet 工程项目每日任务组(IETF)和万维网研究会(W3C)并不是申请注册的 ISO 机构。

  

机构:特定说明负责由 !DOCTYPE 申明引入的 DTD 的建立和维护保养的团队或机构的名字,即 OwnderID。 IETF为IETF。W3C为W3C。

  

种类:特定公布文字类,即所引入的目标种类。 默认设置为DTD。

  

标识:特定公布文字叙述,即对所引入的公布文字的唯1叙述性名字。后边可附带版本号号。默认设置为HTML。

  

界定:特定文本文档种类界定。

Frameset 架构集文本文档。

Strict 清除全部 W3C 权威专家期待逐渐取代的意味着性特性和元素,由于款式表早已很健全了。

Transitional 包括除 frameSet 元素的所有內容。

  

語言:特定公布文字語言,即用于建立所引入目标的当然語言编号系统软件。该語言界定已撰写为 ISO 639 語言编码(大写两个字母)。 EN 默认设置。英语。

  

URL:特定所引入目标的部位。   

  

6.查验专用工具

假如要查验你的网页页面內容是不是合乎在DOCTYPE中申明的规范,可使用W3C出示的认证专用工具:

http://validator.w3.org/

  

7.DOCTYPE切换

当代访问器包含不一样的展现方式,目地是既适用遵照W3C规范的网页页面,也适用为旧式访问器而设计方案的网页页面。在其中, Standards (规范)方式(也便是严苛展现方式)用于展现遵照全新规范的网页页面,而 Quirks (宽容)方式(也便是疏松展现方式或适配方式)用于展现为传统式访问器而设计方案的网页页面。此外,留意Mozilla/Netscape 6新增了1种 Almost Standards (近似规范)方式,用于适用为规范的某个老版本号而设计方案的网页页面。

   

基础理论上,这应当是1个十分直观的切换。倘若网页页面的<!DOCTYPE>元素指出了网页页面的遵照规范(例如XHTML1.0), 访问器就会切换到Standards方式。倘若沒有特定doctype,或特定HTML 3.2和更老的版本号,访问器就切换到Quirks方式。这样1来,访问器既能正确显示信息遵照规范的文本文档,又不至于彻底放弃旧式的、与规范不符的网页页面。 可是会有下面几种状况:

1.遗失的URL或相对性URL

在详细的doctype申明中,要包含相应的文本文档种类界定(DTD)文档的URL。假如URL遗失,或特定的是1个相对性相对路径(而并不是彻底限制的Internet详细地址),大多数数访问器都会进到Quirks方式,无论doctype申明要求的是甚么方式。

  

2.方式不正确的doctype

访问器对doctype申明的方式和文件格式十分比较敏感,假如不可以鉴别1个方式不正确的doctype,就会强制性进到Quirks方式(提议将1个已知正确的doctype复制和粘贴到文本文档中,而并不是亲身键入它)。之因此出現方式不正确的doctype,1个普遍的缘故是在 doctype 的第1一部分与URL之间缺乏1个空格。将1个分两行的doctype折叠成独立1行,经常会遗失那个空格。

  

3.过渡期的 doctype

访问器解决过渡期的doctype时,最非常容易出現不1致的难题。IE和Opera应用Standards方式;Netscape 6和旧版本号的Safari应用Quirks方式;Netscape 7、Mozilla 1和新版本号的Safari应用Netscape的Almost Standards方式,它是Standards方式的1个具备更好容错机制性的版本号。

  

4.未知的 doctype

访问器在解决不可以鉴别的doctype时,也存在不1致的状况。IE和Opera会进到Standards方式;换言之,它假设不可以鉴别的 doctype 是并未在访问器中集成化的1个新规范。Netscape 6则相反,会在遇到不可以鉴别的doctype时切换到Quirks方式。

   

doctype切换或许是让访问器进到正确展现方式并正确显示信息网页页面的1种合理方式,前提条件是你留意到了各种各样访问器的不1致,并能积极主动积极地防止各种各样难题。      

8.XHTML应用技能

1.紧跟在上面 DOCTYPE 申明以后的是1个 XHTML 姓名室内空间(namespace)申明,放在提高的 <html> 元素中,写法为:

<html xmlns="http://www.w3.org/1999/xhtml">

   

2.因为 XHTML 1.0 网页页面便是合理合法的 XML 文本文档,而 XML 针对标识和特性全是区别尺寸写的,以便简易起见,XHTML 1.0 网页页面中全部的标识和特性都务必应用小写。

1些完全免费的专用工具,比如 HTML Tidy(http://tidy.sourceforge.net/),能够协助你把标识和特性全自动变换为小写。

   

3. 根据在 <head> 元素中加上1个 <meta> 元向来申明网页页面中应用的語言。

<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

   

4.在 XHTML 中,全部的特性都务必要再加引号。

1些完全免费的专用工具,比如 HTML Tidy(http://tidy.sourceforge.net/),能够协助你全自动为全部的特性再加引号。

   

5. 在 XHTML 中,全部的特性都务必有值。

不可以像在 HTML 4.0 中那样写:

<input type="checkbox" name="shirt" value="medium" checked>

而要写成:

<input type="checkbox" name="shirt" value="medium" checked="checked" />

   

6. 在 XHTML 中,全部的标识都务必关掉。

关掉标识有两种方法,包括內容的标识应用完毕标识关掉,空标识在后边再加空格和"/"。比如:

<p>This is acceptable HTML and it is also valid XHTML.</p>

<img src="logo.gif" />

7. 不必在注解內容中应用"--" 。

"--" 只能应用在 XHTML 注解的开始和完毕,不可以出現在注解的內容中。下面的写法全是不容许的:

<!--Invalid -- and so is the classic "separator" below. -->

<!------------------------------------>

8. 把全部的独特标记开展HTML编号。   

W3C 的 XHTML/CSS/DOM 这 3 个标准组成了1个详细而严实的管理体系,我称这 3 个标准为 Web 全球中"3位1体神的化身"。这 3 个标准各自意味着了 Web 网页页面的 structure(构造)、presentation(主要表现)和 behaviour(个人行为) 3 一部分。将 Web 网页页面严苛分成这 3 层,而且尽可能使每层的內容互相单独,有助于提升网页页面的可重用性和控制模块化水平,大幅减少网页页面制做、维护保养和改动的成本费。以便做到上述分层的总体目标,撰写的 XHTML 中应当只包括与 structure 有关的标识(元素和特性)。因而应当习惯性于应用 Strict 种类的 DTD,尽快革除那些带有主要表现含义的标识(这些标识在 HTML 4.0 标准中被标志为 Deprecated 即"不倡导",而且会在 XHTML 之后的版本号中被彻底放弃);尽快革除根据 table 做合理布局的老方式,选用彻底的 CSS 合理布局。  

 

9.强烈推荐的 XHTML 有关书本

《HTML 与 XHTML 权威性指南》,Chuck Musciano & Bill Kennedy 著。

《XHTML实例教程》,Chelsea Valentine & Chris Minnick 著。

《网站重构》,Jeffrey Zeldman 著。
作者:张子秋
出处:http://www.cnblogs.com/zhangziqiu/