Jsp中的DOCTYPE声明
声明符合⾃⼰需要的DOCTYPE。
查看原代码,可以看到第⼀⾏就是:
3C//DTD XHTML 1.0 Transitional//EN"
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
打开⼀些符合标准的站点,例如著名web设计软件开发商Macromedia,设计⼤师Zeldman的个⼈⽹站,会发现同样的代码。⽽另⼀些符合标准的站点(例如k10k)的代码则如下:
3C//DTD XHTML 1.0 Frameset//EN" "/TR/xhtml1/DTD/xhtml1-frameset.dtd">
那么这些代码有什么含义?⼀定要放置吗?
什么是DOCTYPE
上⾯这些代码我们称做DOCTYPE声明。DOCTYPE是document type(⽂档类型)的简写,⽤来说明你⽤的XHTML或
者HTML是什么版本。
其中的DTD(例如上例中的xhtml1-transitional.dtd)叫⽂档类型定义,⾥⾯包含了⽂档的规则,浏览器就根据你定义
的DTD来解释你页⾯的标识,并展现出来。
要建⽴符合标准的⽹页,DOCTYPE声明是必不可少的关键组成部分;除⾮你的XHTML确定了⼀个正确
的DOCTYPE,否则你的标识和CSS都不会⽣效。
XHTML 1.0 提供了三种DTD声明可供选择:
html document是什么 过渡的(Transitional):要求⾮常宽松的DTD,它允许你继续使⽤HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:
3C//DTD XHTML 1.0 Transitional//EN"
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
严格的(Strict):要求严格的DTD,你不能使⽤任何表现层的标识和属性,例如
完整代码如下:
3C//DTD XHTML 1.0 Strict//EN" "/TR/xhtml1/DTD/xhtml1-strict.dtd">
框架的(Frameset):专门针对框架页⾯设计使⽤的DTD,如果你的页⾯中包含有框架,需要采⽤这种DTD。完整代码如下:
3C//DTD XHTML 1.0 Frameset//EN" "/TR/xhtml1/DTD/xhtml1-frameset.dtd">
我们选择什么样的DOCTYPE
理想情况当然是严格的DTD,但对于我们⼤多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是⽬前理想选择(包括本站,使⽤的也是过渡型DTD)。因为这种DTD还允许我们使⽤表现层的标识、元素和属性,也⽐较容易通过W3C的代码校验。
注:上⾯说的"表现层的标识、属性"是指那些纯粹⽤来控制表现的tag,例如⽤于排版的表格、背景颜⾊标识等。在XHTML中标识是⽤来表⽰结构的,⽽不是⽤来实现表现形式,我们过渡的⽬的是最终实现数据和表现相分离。
打个⽐⽅:⼈体模特换⾐服。模特就好⽐数据,⾐服则是表现形式,模特和⾐服是分离的,这样你就可以随意换⾐服。⽽原来HTML4中,数据和表现是混杂在⼀起的,要⼀次性换个表现形式⾮常困难。呵呵,有点抽象了,这个概念需要我们在应⽤过程中逐步领会。
补充
DOCTYPE声明必须放在每⼀个XHTML⽂档最顶部,在所有代码和标识之上。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论