默认情况下,FF和IE的解释标准是不一样的,也就是说,如果一个网页没有声明DOCTYPE,它就会以默认的DOCTYPE解释下面的HTML。在同一种标准下,不同浏览器的解释模型都有所差异。学习网页标准,浏览器兼容,本文介绍教您认识DOCTYPE:[zy]
一、什么是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,否则效果会有差异。
分享到:
相关推荐
HTML(HyperText Markup Language,超文本标记语言)...掌握这些基础知识点对于学习前端开发是至关重要的。通过以上归纳的知识点,我们能够对HTML和CSS有一个较为系统的认识,并理解JavaScript在网页开发中扮演的角色。
### HTML语言概述与基础知识 #### 1. HTML简介 HTML(HyperText Markup Language,超文本标记语言)是一种用于创建网页的标准标记语言。自1990年以来,HTML一直是万维网(World Wide Web, WWW)上信息展示的主要...
"前端校招面试题精编解析大全" 本资源摘要信息涵盖了前端开发领域的...这些知识点涵盖了 HTML 的基础概念、HTML5 新特性、浏览器工作机制、WEB 标准、HTML 语义化等方面,旨在帮助初学者快速掌握前端开发的基础知识。
接着,我们会学习HTML(HyperText Markup Language)的基础知识。HTML是构建网页内容的基础,它定义了网页的结构和布局。通过学习HTML的基本格式,如文档类型声明、头部和主体元素、段落、标题等,我们可以构建出...
通过学习这些基础知识,新手开发者可以逐渐建立起对HTML的认识,并在实践中不断加深理解和应用。而《深入浅出html》这本书籍,作为一本通俗易懂的入门读物,非常适合那些希望打好前端开发基础的新手。不过,由于内容...
本教程旨在为初学者提供一个全面的HTML基础知识入门,帮助你们理解并掌握网页设计的核心技能。 一、HTML结构 HTML文档由一系列的元素组成,每个元素都用标签来定义。标签分为起始标签(例如`<p>`)和结束标签(例如...
前端面试题目通常会覆盖HTML、CSS和JavaScript的基础知识,以及一些特定的技术细节和最佳实践。以下是从上述内容中提炼出的知识点,详细地对前端工程师可能面临的问题进行了阐述: 1. HTML和CSS基础:理解HTML结构...
这一章"HTML5概述"将全面介绍HTML5的基础知识,包括它的历史背景、新特性、语法改进以及在实际应用中的优势。 1. **历史背景**:HTML5的诞生源于对早期HTML版本的升级需求,特别是HTML4.01和XHTML1.0无法满足现代...
### HTML5基础知识要点 #### 一、HTML5概述 HTML5是互联网的一种标准,它代表了Web技术的一个重要进步。2010年4月,苹果公司的创始人乔布斯在其一篇名为《对Flash的思考》的文章中提及了HTML5的重要性,从而引起了...
【Java程序设计任务驱动式教程-任务十五-认识Java Applet (Applet入门)】 Java Applet是Java技术的一部分,它允许开发人员创建可以在Web浏览器中运行的小型应用程序,为网页提供动态交互功能。在Java早期,Applet是...
SSD1英文原版教材是一本专为教师设计的最新教育资源,主要涵盖了Web技术、Java编程以及面向对象编程的基础知识。教材支持打印操作,旨在促进教学活动,鼓励学习者深入理解网络、编程语言以及软件开发的核心概念。 ...
6. **布局技术**:介绍使用CSS布局的基础知识,包括浮动、定位和盒模型,以及如何在Dreamweaver中创建和应用CSS样式。 7. **超链接管理**:学习如何创建内部和外部链接,包括链接到其他网页、锚点链接和电子邮件...
2. PHP基础:介绍PHP语言在Web开发中的应用,学习变量、条件语句、循环、函数等基础知识。 3. 数据库交互:理解数据库在Web应用程序中的重要性,学习使用PHP连接MySQL数据库,执行SQL查询。 六、实践与案例分析 1. ...
它构成了互联网上大部分页面的基础,让开发者能够构建结构化的文档,并通过样式表(如CSS)和脚本语言...这样的学习资源对于想要入门HTML的人来说是非常宝贵的,它可以帮助他们逐步建立起创建网页所需的基础知识框架。
【个人简易小网站2.0】是一个针对HTML初学者设计的小型项目,旨在帮助学习者理解和实践HTML基础知识,创建一个简单但完整的个人网站。在这个项目中,你可以学习到如何搭建一个基本的网页结构,以及如何通过HTML元素...
这个名为"前端开发入门实例代码.zip"的压缩包显然旨在为初学者提供一个实践...结合实践案例,这些基础知识将成为你进一步探索前端开发领域的坚实基础。记得不断练习和实验,理论与实践相结合,才能更好地掌握这门技术。