DOCTYPE元素详解

一.概述

本文系统的讲解DOCTYPE元素.同时查证了很多的资料.因为互联网上面的资料比较杂乱,所以经过收集整理我进行了重新定义.比如对于DOCTYPE元素的定义.主要分为基础知识和高级知识.基础知识讲解基本的DOCTYPE知识. 高级知识很多来自网络收集, 主要是实际应用的一些技巧.

二.定义

DOCTYPE是文档类型(Document Type)的缩写, <!DOCTYPE> 元素用于声明一个页面的文档类型定义(Document Type Declaration, 即DTD).此元素声明位于文档中的最前面的位置,处于 <html> 标签之前。通过确认页面的DTD,可以同时确定页面使用哪种W3C规范(比如 HTML 或 XHTML 规范)。

三.W3C规范

 

W3C规范的正确翻译应该为W3C推荐(W3C Recommendations).很多设计师的眼里W3C就是标准.但是许多人都是一知半解.下面列于了目前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规范, 是一项可从 HTML 4.01 平稳迁移的 XML 应用。W3C 把 HTML 4.01 重构为 XML 的第一个步骤,导致了 XHTML 1.0 的诞生。XHTML 1.0 依赖于 HTML 4.01 标签所提供的语义。  

四.规范与DTD

页面文件通过<DOCTYPE>元素声明不同的DTD, 来告知浏览器当前页面符合哪种HTML或者XHTML规范.下面只列举HTML4.01和XHTML1.0两种规范相关的DTD:   

HTML

HTML 4.01 规定了三种文档类型: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 规定了三种 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">

  

五.DOCTYPE 元素语法

语法

HTML 顶级元素 可用性 "注册//组织//类型 标签//定义 语言""URL"

  

语法元素说明

顶级元素:指定 DTD 中声明的顶级元素类型。这与声明的 SGML 文档类型相对应。 默认为HTML。

  

可用性:指定正式公开标识符(FPI)是可公开访问的对象还是系统资源。取值可以为PUBLIC或者SYSTEM.PUBLIC 默认。表示可公开访问的对象。SYSTEM表示系统资源,如本地文件或 URL。

  

注册:指定组织是否由国际标准化组织(ISO)注册。

+为默认,表示组织名称已注册。

-表示组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。

时间: 2024-10-28 05:03:25

DOCTYPE元素详解的相关文章

Hibernate配置文件中映射元素详解

详解 本文中将讲述Hibernate的基本配置及配置文件的应用,这对于正确熟练使用Hibernate是相当关键的. 配置文件中映射元素详解 对象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素,映射文件的代码如下. <?xml version="1.0"?><!--所有的XML映射文件都需要定义如下所示的DOCTYPE.Hibernate会先在它的类路径(c

CSS教程:block element与inline element元素详解

块元素(block element)一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P"."form"这个块元素比较特殊,它只能用来容纳其他块元素. 如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排.而有了css以后,我们可以改变这种html的默认布局模式,把块元素摆放到你想要的位置上去.而不是每次都愚蠢的另起一行.需要指出的是,table标签也是块元素的一种,table based layout和css

Dreamweaver CS3中Head元素详解及使用

HEAD元素中包含了许多重要的信息,例如文档类型.语言编码.JavaScript和VBscript的函数和变量.搜索引擎的要害字和内容提示等.您可以使用VIEW-HEAD CONTENT或HTML检查器(F10)查看其内容. 要将元素插入文档的HEAD部分请选OBJECT面板的HEAD,下面介绍一下HEAD元素的部分属性: Meta:它可以记录当前页面的信息,例如字符编码.作者.版权和要害字等.还可以用来向服务器提供信息,例如截止日期和页面刷新间隔等. Attribute:指定META标签是否包

CSS教程:元素详解

块元素(block element)一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P"."form"这个块元素比较特殊,它只能用来容纳其他块元素. 如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排.而有了css以后,我们可以改变这种html的默认布局模式,把块元素摆放到你想要的位置上去.而不是每次都愚蠢的另起一行.需要指出的是,table标签也是块元素的一种,table based layout和css

jquery选择器 按排序位置定位元素详解

生活或者工作中经常需要做一些小规模统计系统,统计事项或者收益,或者活动等等.我比较厌恶excel,以前都用php+mysql做,js展示图表, 用javascript 绘制图表,这样一个系统,怎么也化5,6个小时来编程,相当繁琐. 最近找到一个更好的办法,只用一个html文件来记录股票收益 •直接写一个html文件,数据就展示在html table里面 •样式用bootstrap很容易写好 •直接用jquery从table中把数据解析出来,然后写几行js代码来完成数据的计算 •当需要添加或者修改

网站内部优化策略12元素详解(转载)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网站内部优化是SEO工作中的难点与重点,我们谈论的内部优化策略着眼于网站整体,并非针对某一个页面. 网站内部优化的难点: 保证网站信息同一性. 排除互相的干扰信息. 易于用户理解与使用. 便于搜索引擎的理解. 内部优化策略主要包括:关键词策略.页面优化.排除干扰信息.提高用户体验度. 关键词策略 1.页面标题一直被看作是最重要的优化重点.事实

JS操作iframe框架属性与元素详解

1. 获得iframe的window对象 存在跨域访问限制. chrome:iframeElement. contentWindow firefox: iframeElement.contentWindow ie6:iframeElement.contentWindow 文章Iframes, onload, and document.domain中说"he iframe element object has a property called contentDocument that conta

MyBatis魔法堂:Insert操作详解(返回主键、批量插入)

一.前言      数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅.   二. insert元素 属性详解   其属性如下:    parameterType ,入参的全限定类名或类型别名    keyColumn ,设置数据表自动生成的主键名.对特定数据库(如PostgreSQL),若自动生成的主键不是第一个字段则必须设置    keyProperty ,默认值unset,用于设置getGeneratedKeys方法或selectKey子元

maven详解之坐标与依赖

看着简单而又复杂的pom.xml文件,看似熟悉,当自己编写的时候觉得简单,但是看人家项目的时候又觉得复杂的很,现在我们一起来分析这个pom文件. Maven的坐标为各种构件引入了秩序,任何一个构件都必须明确的定义自己的坐标,maven的坐标包括如下的元素: groupId: 定义当前Maven项目隶属的实际项目 artifactId: 该元素定义实际项目中的一个Maven项目或模块 version: 该元素定义Maven项目当前所处的版本 packaging: 该元素定义Maven项目的打包方式