设为首页
收藏本站
最新电影
您现在的位置: 首页=>网站结构化 订阅本栏目  
关于网站结构标准 DOCTYPE
时间: 2007-12-06 10:47:58 阅读次数:3300


DOCTYPE不可怕,但把它拿走,会让你怕了又怕
最近在蓝色理想转悠,发现很多朋友提出有关DIV+CSS排版问题,以及IE与FF的兼容问题怎么问的都有,结果就是一个——显示很奇怪,很难调整我们浏览的大多数网站,或者用Dreamweaver创建一个新的网页文档时,源码的顶部都会有DocType声明,但是很多人没有注意它,甚至在创作时候直接将它删掉,其实这往往就是噩梦的开始在遵循标准的任何Web文档中,DOCTYPE都是一项必需的元素它会影响代码验证,并决定了浏览器最终如何显示你的web文档为了避免DOCTYPE的问题重复出现,我根据手头的资料整理了这篇文档,以备自己及有兴趣的朋友参考
在默认情况下,FF和IE的解释标准是不一样的,也就是说,如果一个网页没有声明DOCTYPE,它就会以默认的DOCTYPE解释下面的HTML在同一种标准下,不同浏览器的解释模型都有所差异,如果声明标准不同,不用我说,您自己想就可以了学习网页标准,浏览器兼容,从哪里开始您自己决定,但是,请认识DOCTYPE:
一、什么是DOCTYPE
DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本要想制作符合标准的页面,一个必不可少的关键组成部分就是DOCTYPE声明飞飞!Asp技术乐园只有确定了一个正确的DOCTYPE,XHTML里的标识和CSS才能正常生效
二、DOCTYPE的规则
DOCTYPE声明的写法遵循一定的规则,它指出阅读程序应该用什么规则集来解释文档中的标记在Web文档的情况下,“阅读程序”通常是浏览器或者校验器这样的一个程序,“规则”则是w3c所发布的一个文档类型定义(dtd)中包含的规则
每个dtd都包括标记、attributes、properties等内容,它们用于标记web文档的内容;此外还包括一些规则,它们规定了哪些标记能出现在其他哪些标记中每个web建议标准(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd
以下是从手册上摘抄的规则:
语法:

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

可能值:

- 顶级元素:指定 DTD 中声明的顶级元素类型这与声明的 SGML 文档类型相对应 HTML 默认HTML
- 可用性:指定正式公开标识符(FPI)是可公开访问的对象还是系统资源 PUBLIC 默认可公开访问的对象飞飞Asp技,术乐园SYSTEM 系统资源,如本地文件或 URL
- 注册:指定组织是否由国际标准化组织(ISO)注册 + 默认组织名称已注册
- 组织名称未注册Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织
组织:指定表明负责由 !DOCTYPE 声明引用的 DTD 的创建和维护的团体或组织的名称,即 OwnderID IETF IETF W3C W3C
- 类型:指定公开文本类,即所引用的对象类型 DTD 默认DTD
- 标签:指定公开文本描述,即对所引用的公开文本的唯一描述性名称后面可附带版本号 HTML 默认HTML飞飞Asp技术!乐园
- 定义:指定文档类型定义
  Frameset 框架集文档
  Strict 排除所有 W3C 专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了
  Transitional 包含除 frameSet 元素的全部内容
- 语言:指定公开文本语言,即用于创建所引用对象的自然语言编码系统该语言定义已编写为 ISO 639 语言代码(大写两个字母) EN 默认英语
- URL:指定所引用对象的位置


为了获得正确的DOCTYPE声明,关键就是让dtd与文档所遵循的标准对应例如,假定文档遵循的是xhtml 1.0 strict标准,文档的doctype声明就应该引用相应的dtd另一方面,如果doctype声明指定的是xhtml dtd,但文档包含的是旧式风格的html标记,就是不恰当的;类似地,如果doctype声明指定的是html dtd,但文档包含的是xhtml 1.0 strict标记,同样是不恰当的
三、选择什么样的DOCTYPE
如上例所示,XHTML 1.0中有3种DTD(文档类型定义)声明可以选择:过渡的(Transitional)、严格的(Strict)和框架的(Frameset)这里分别介绍如下
1.过渡的
一种要求不很严格的DTD,允许在页面中使用HTML4.01的标识(符合xhtml语法标准)过渡的DTD的写法如下:


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


2.严格的
一种要求严格的DTD,不允许使用任何表现层的标识和属性,例如<br/>等严格的DTD的写法如下:

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


3.框架的
一种专门针对框架页面所使用的DTD,当页面中含有框架元素时,就要采用这种DTD框架的DTD的写法如下:


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


使用严格的DTD来制作页面,当然是最理想的方式但是,对于没有深入了解Web标准的网页设计者,比较合适的是使用过渡的DTD因为这种DTD还允许使用表现层的标识、元素和属性,比较适合大多数网页制作人员
四、需要注意的问题
没什么特别的,就是一定要将DOCTYPE声明放在XHTML文档的顶部,上面哪怕多个HTML注释标记都不行
最好示例代码也加上DOCTYPE,否则效果会有差异
经典论坛讨论
http://bbs.blueidea.com/thread-2792311-1-1.html



站内搜索    

下一篇Meta标签的参数、内容、格式、用法详解

上一篇文本格式ANSI,Unicode等有什么区别

本栏目最新 栏目最新列表
表单项INPUT、SELECT等垂直对齐的方法
表单的multipart/form-data和application/x
应用标准后超链接访问过后hover样式失效的原
CSS浏览器兼容问题整理(IE6.0、IE7.0 与 Fi
不同浏览器CSS的hack ,IE6,FF,IE7
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
Transact SQL 常 [1] [2]
VIA Rhine II Fast Ethe
电脑常用端 [1] [2] [3]
Do you get a kick out
十道羊皮卷 欣赏+mp3版+
每日一句:A friend and
每日一句:Theres no tu
经典__悟透JavaScript
 width= 
伟哥博客 西安房产 123最新电影 三四六四