`
daniel.wuz
  • 浏览: 101768 次
  • 性别: Icon_minigender_1
  • 来自: 纽约
最近访客 更多访客>>
社区版块
存档分类

[转贴]Web标准:关于DOCTYPE

    博客分类:
  • ASP
阅读更多
原文链接:http://www.pcjx.com/webde/css/70815.html

DOCTYPE不可怕,但把它拿走,会让你怕了又怕。

最近在蓝色理想转悠,发现很多朋友提出有关DIV+CSS排版问题,以及IE与FF的兼容问题。怎么问的都有,结果就是一个——显示很奇怪,很难调整。我们浏览的大多数网站,或者用Dreamweaver创建一个新的网页文档时,源码的顶部都会有DocType声明,但是很多人没有注意它,甚至在创作时候直接将它删掉,其实这往往就是噩梦的开始。在遵循标准的任何Web文档中,DOCTYPE都是一项必需的元素。它会影响代码验证,并决定了浏览器最终如何显示你的web文档。为了避免DOCTYPE的问题重复出现,我根据手头的资料整理了这篇文档,以备自己及有兴趣的朋友参考。

在默认情况下,FF和IE的解释标准是不一样的,也就是说,如果一个网页没有声明DOCTYPE,它就会以默认的DOCTYPE解释下面的 HTML。在同一种标准下,不同浏览器的解释模型都有所差异,如果声明标准不同,不用我说,您自己想就可以了。学习网页标准,浏览器兼容,从哪里开始您自己决定,但是,请认识DOCTYPE:

一、什么是DOCTYPE

DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。要想制作符合标准的页面,一个必不可少的关键组成部分就是DOCTYPE声明。只有确定了一个正确的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 默认。可公开访问的对象。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:指定所引用对象的位置

为了获得正确的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,否则效果会有差异。
分享到:
评论
1 楼 弋孤秋 2009-03-10  
是啊
很麻烦的东西

相关推荐

    Web标准:关于DOCTYPE

    总之,理解并正确使用DOCTYPE是遵循Web标准,创建兼容性良好的网页的基础。DOCTYPE的选择应基于文档的实际内容和设计目标,选择最合适的DTD,以确保在各种浏览器环境下提供一致的用户体验。同时,遵循标准的DOCTYPE...

    HTML !DOCTYPE 标签 声明HTML版本

    DOCTYPE&gt;并不是HTML标签,它声明web浏览器关于页面使用哪个 HTML 版本进行编写的指令。 在 HTML 4.01 中,&lt;!DOCTYPE&gt; 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现...

    web标准初探(主要介绍web标准)

    ### Web标准初探 #### 1. 什么是Web标准? Web标准是一系列旨在规范Web开发实践的技术规范和指导原则的集合。它强调内容与表现形式的分离,旨在提高Web内容的可访问性、可维护性和跨平台兼容性。Web标准包括三个...

    web标准化学习指南:如何学习网页标准

    Web标准化是现代网页设计的核心,它旨在提升网页的可访问性、可维护性和跨平台兼容性。学习网页标准,特别是对于新手来说,是一项至关重要的任务。以下是一份详细的指南,帮助你逐步掌握Web标准化。 首先,你需要...

    Web标准:文档类型和网页浏览器

    随着时间的推移,Web标准运动推动了DOCTYPE的正确使用,编辑器开始生成符合标准的DOCTYPE。这使得更多的网页开始遵循W3C规范,但同时也暴露了IE6等早期浏览器的问题,因为它们的渲染行为多年未变。因此,当这些...

    DOCTYPE文档类型声明

    使用正确的DOCTYPE声明对于确保网页的跨浏览器兼容性和遵循Web标准至关重要。例如,Strict模式的DOCTYPE要求更严格的HTML编写规则,不允许使用表现层的HTML元素,如`&lt;center&gt;`或`&lt;font&gt;`,鼓励开发者使用CSS来控制...

    精通CSS高级Web标准解决方案-包含源码(高清PDF中文版)

    1.1.2 文档类型、DOCTYPE切换和浏览器模式 1.2 为样式找到目标 1.2.1 常用的选择器 1.2.2 通用选择器 1.2.3 高级选择器 1.2.4 层叠和特殊性 1.2.5 继承 1.3 规划、组织和维护样式表 1.3.1 对文档应用样式 ...

    Web前端:11个让你代码整洁的原则(1)

    标题和描述中提到的知识点是关于Web前端开发中如何保持代码整洁的11个原则,这一部分主要聚焦在HTML和CSS的最佳实践上。下面将详细展开这些原则: ### 一、DOCTYPE的声明 DOCTYPE声明是HTML文档的第一行,用于告诉...

    网页 DOCTYPE html标签的作用1

    在网页开发中,`&lt;!DOCTYPE&gt;` 是一个非常重要的声明,它的主要作用是告诉浏览器文档遵循的HTML或XHTML规范...理解并正确使用DOCTYPE声明是编写符合现代Web标准的HTML文档的基础,对于创建高质量、可维护的网页至关重要。

    HTML 元素与合法的 Doctype.docx

    HTML(HyperText Markup Language)是用于创建网页的标准标记语言,DOCTYPE是HTML文档中的一个重要部分,它定义了文档遵循的HTML或XHTML规范的版本。DOCTYPE声明位于HTML文档的顶部,通常在`&lt;html&gt;`标签之前,告诉...

    HTML !DOCTYPE 标签.docx

    使用正确的DOCTYPE声明有助于确保文档遵循特定的标准,这有利于代码的互操作性和可访问性。同时,它可以帮助开发者在不支持CSS的老式浏览器中实现向后兼容。为了验证HTML或XHTML文档是否符合所声明的DTD,可以使用...

    Web开发标准规范.doc

    在Web开发领域,标准规范是确保项目质量和可维护性的重要基石。"Web开发标准规范.doc"这份文档,作为一份详尽的开发指南,旨在指导开发者按照最佳实践进行工作,从而创建出易于理解、高效且美观的Web应用。下面将...

    用web标准设计网站

    ### 用Web标准设计网站——详解DOCTYPE与名字空间 #### 第1天:选择什么样的DOCTYPE 在着手构建符合现代Web标准的网站时,首先需要明确的一个关键要素是文档类型声明(DOCTYPE)。这一声明不仅有助于告知浏览器...

    web标准常见问题(BUG)

    在Web开发领域,遵循标准是确保网站在不同浏览器和设备上具有良好兼容性和用户体验的关键。然而,实际操作中,开发者常常会遇到各种与web标准相关的技术问题,即我们所说的“BUG”。以下是一些常见的Web标准问题及其...

    Web2.0标准教案

    ### Web2.0标准教案深度解析 #### 一、Web2.0标准概览 Web2.0标准教案旨在提供一套全面的指南,帮助开发者理解并应用Web2.0时代的最新标准来构建高质量的网站。这不仅仅涉及技术层面的更新,更强调了标准化在提升...

    web标准教程,帮你走进web标准设计的世界 第一讲

    在互联网上,Web标准被广泛应用于设计和开发网页,以便创建易于维护、可访问性高且跨平台兼容的网站。本教程旨在将初学者引入Web标准设计的世界,通过结合实际案例和知识点的讲解,希望帮助初学者构建一个稳固的Web...

Global site tag (gtag.js) - Google Analytics