关于页面中DOCTYPE标签

语法

HTML

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

可能值

顶级元素

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

HTML

默认。HTML。

 

可用性

指定正式公开标识符(FPI)是可公开访问的对象还是系统资源。

PUBLIC

默认。可公开访问的对象。

SYSTEM

系统资源,如本地文件或 URL。

 

注册

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

+

默认。组织名称已注册。

-

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

 

组织

指定表明负责由 !DOCTYPE 声明引用的 DTD 的创建和维护的团体或组织的名称,即 OwnderID。

IETF

IETF。

W3C

W3C。

 

类型

指定公开文本类,即所引用的对象类型。

DTD

默认。DTD。

 

标签

指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。

HTML

默认。HTML。

 

定义

指定文档类型定义。

Frameset

框架集文档。

Strict

排除所有 W3C 专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了。

Transitional

包含除 frameSet 元素的全部内容。

 

语言

指定公开文本语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为 ISO 639 语言代码(大写两个字母)。

EN

默认。英语。

 

URL

指定所引用对象的位置。

 

 

 

 

DOCTYPEdocument type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本。

其中的DTD(例如上例中的xhtml1-transitional.dtd)叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。

要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。
XHTML 1.0
提供了三种DTD声明可供选择:

过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:

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

严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如<br>。完整代码如下:

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:

 <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">
我们选择什么样的DOCTYPE

理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是目前理想选择!。因为这种DTD还允许我们使用表现层的标识、元素和属性,也比较容易通过W3C的代码校验。
注:上面说的\"表现层的标识、属性\"是指那些纯粹用来控制表现的tag,例如用于排版的表格、背景颜色标识等。在XHTML中标识是用来表示结构的,而不是用来实现表现形式,我们过渡的目的是最终实现数据和表现相分离。

打个比方:人体模特换衣服。模特就好比数据,衣服则是表现形式,模特和衣服是分离的,这样你就可以随意换衣服。而原来HTML4中,数据和表现是混杂在一起的,要一次性换个表现形式非常困难。呵呵,有点抽象了,这个概念需要我们在应用过程中逐步领会。

补充

DOCTYPE声明必须放在每一个XHTML文档最顶部,在所有代码和标识之上。
DOCTYPE
声明好以后,接下来的代码是:

 CODE:[Copy to clipboard]<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"gb2312\">

通常我们HTML4.0的代码只是<html>,这里的\"xmlns\"是什么呢?

这个\"xmlns\"XHTML namespace的缩写,叫做\"名字空间\"声明。名字空间是什么作用呢?
由于xml允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML采用名字空间声明,允许你通过一个网址指向来识别你的标识。例如:

闲看网和论坛网都定义了一个<book>标识,如果闲看网名字空间是\"http://www.xiankan.com\",论坛网名字空间是\"http://www.Yaobbs.com\",那么当两个文档交换数据时,也不会混淆<book>标识,因为它属于不同的名字空间。

更通俗的解释是:名字空间就是给文档做一个标记,告诉别人,这个文档是属于谁的。只不过这个\"\"用了一个网址来代替。

XHTMLHTMLXML过渡的标识语言,它需要符合XML文档规则,因此也需要定义名字空间。又因为XHTML1.0不能自定义标识,所以它的名字空间都相同,就是\"http://www.w3.org/1999/xhtml\"。如果你还不太理解也不要紧,目前阶段我们只要照抄代码就可以了。

后面的lang=\"gb2312\",指定你的文档用简体中文。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值