查看完整版本: 初学者认识DOCTYPE的基础知识

snowfox373 2007-12-9 22:03

初学者认识DOCTYPE的基础知识

  默认情况下,FF和IE的解释标准是不一样的,也就是说,如果一个网页没有声明DOCTYPE,它就会以默认的DOCTYPE解释下面的HTML。在同一种标准下,不同浏览器的解释模型都有所差异。学习网页标准,浏览器兼容,本文介绍教您认识DOCTYPE:J,Y~'bVn

jZr7uE"A9O Y eM   一、什么是DOCTYPE
NW+q ^;xp0} Q;k3Z
Zq3C|p   DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。要想制作符合标准的页面,一个必不可少的关键组成部分就是DOCTYPE声明。只有确定了一个正确的DOCTYPE,XHTML里的标识和CSS才能正常生效。8s"L4} `?)iqJ&SK s

S-k_Bn0n'Z9lP   二、DOCTYPE的规则
} ei/d D4x
/r4a"Gip z0W!` dy   DOCTYPE声明的写法遵循一定的规则,它指出阅读程序应该用什么规则集来解释文档中的标记。在Web文档的情况下,“阅读程序”通常是浏览器或者校验器这样的一个程序,“规则”则是w3c所发布的一个文档类型定义(dtd)中包含的规则。,{o_U9f fU
u pIq8[7C0j
  每个dtd都包括标记、attributes、properties等内容,它们用于标记web文档的内容;此外还包括一些规则,它们规定了哪些标记能出现在其他哪些标记中。每个web建议标准(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。U~)@a:W.JG;_

7[ g9]0y d.O eW   以下是从手册上摘抄的规则:
w3v+gY2Y^%pT
#\5V\4x \DVtmp   语法:%RT E4f9] SG$b

9_\x6Ub0Kt   HTML  顶级元素  可用性 "注册//组织//类型 标签//定义  语言""URL" 4~O'@ }Y

Xw9m w^:mB   可能值:p[,G:T/_h@;{9Y%bJ
4R0j!~N"i(y*@F+y`A
  - 顶级元素:指定 DTD 中声明的顶级元素类型。这与声明的 SGML 文档类型相对应。 HTML 默认。HTML。Et.V,l;];\8H#AR1q
3k Cjj5PF5]"k
  - 可用性:指定正式公开标识符(FPI)是可公开访问的对象还是系统资源。 PUBLIC 默认。可公开访问的对象。SYSTEM 系统资源,如本地文件或 URL。
2u4Q `.H&U6J O`O1bzW!^s:]5\
  - 注册:指定组织是否由国际标准化组织(ISO)注册。 + 默认。组织名称已注册。 1tN0}Z&a^/o})P

Y@BNEv7}%T"?2xl^   - 组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。 #gH.w X7Uo/y
ly/w@$W-K y)D
    - 组织:指定表明负责由 !DOCTYPE 声明引用的 DTD 的创建和维护的团体或组织的名称,即 OwnderID。 IETF IETF。 W3C W3C。!c3c'n5\ E9Uj)j
XgbOy8S0O4j!x5P
  - 类型:指定公开文本类,即所引用的对象类型。 DTD 默认。DTD。
,{n2QN }%p+| {|j8Y9F r(PV9UW%F!lAz
  - 标签:指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。 HTML 默认。HTML。
7C_ TvUw|1~ u1o@KV*Q
  - 定义:指定文档类型定义。 P~rkt9t:Bn#yOi
;P/b9F$X#}h%?
  Frameset 框架集文档。
&x y jC~$?c'Ih%CA
#oE QkA   Strict 排除所有 W3C 专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了。.c Z6\:h!|

O raDP a't@   Transitional 包含除 frameSet 元素的全部内容。
S'A6z T&viV F ? 7u^Q'jk+|wMo
  - 语言:指定公开文本语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为 ISO 639  语言代码(大写两个字母)。 EN 默认。英语。 {w"~G`/C
^NF.Q_2f7gaC6p
  - URL:指定所引用对象的位置
?.]%X fKM#A Q(d
$?Q.T9G4Md,w0H7A7b^2}   为了获得正确的DOCTYPE声明,关键就是让dtd与文档所遵循的标准对应。例如,假定文档遵循的是xhtml 1.0 strict标准,文档的doctype声明就应该引用相应的dtd。另一方面,如果doctype声明指定的是xhtml dtd,但文档包含的是旧式风格的html标记,就是不恰当的;类似地,如果doctype声明指定的是html dtd,但文档包含的是xhtml 1.0 strict标记,同样是不恰当的。
]1J5bx/k/ZZ +F0u%c/X)SIe}
  三、选择什么样的DOCTYPE
e YA7G!w E6E
l!wS!Z`?dz*i-J5w+K   如上例所示,XHTML 1.0中有3种DTD(文档类型定义)声明可以选择:过渡的(Transitional)、严格的(Strict)和框架的(Frameset)。这里分别介绍如下。
2FB0Rz4L A(mr ba *A&k i'UAXn
  1.过渡的
r%Mr:yB#FD
`{Kzb.S&GX)e6d   一种要求不很严格的DTD,允许在页面中使用HTML4.01的标识(符合xhtml语法标准)。过渡的DTD的写法如下:[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" R D)}cylN
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/code] 2.严格的!v(L V5Fk2gn
fKP3z3C
  一种要求严格的DTD,不允许使用任何表现层的标识和属性,例如<br/>等。严格的DTD的写法如下:[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" E[ g%S.k@N0R
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">[/code] 3.框架的
`oyp[ X/w7r'@[|XbYCcSt
  一种专门针对框架页面所使用的DTD,当页面中含有框架元素时,就要采用这种DTD。框架的DTD的写法如下:[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 'K8W#KTvf,o
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">[/code] 使用严格的DTD来制作页面,当然是最理想的方式。但是,对于没有深入了解Web标准的网页设计者,比较合适的是使用过渡的DTD。因为这种DTD还允许使用表现层的标识、元素和属性,比较适合大多数网页制作人员。
!J3e~"BpNi
7x-B[a9U%Bw%g%C   四、需要注意的问题
I qNE"V ^h0W 5h-Aa0I1[@`*dE
  没什么特别的,就是一定要将DOCTYPE声明放在XHTML文档的顶部,上面哪怕多个HTML注释标记都不行。^{O1_PL-@k9i!_9d*?

0u,i}t B3u+i   最好示例代码也加上DOCTYPE,否则效果会有差异。
页: [1]
查看完整版本: 初学者认识DOCTYPE的基础知识
查看完整版本: 初学者认识DOCTYPE的基础知识