Html-文档类型(DTD)和DOCTYPE

在正式介绍文档类型(DTD)和DOCTYPE之前,我们需要先了解HTML和XHTML的之间的区别,现在Html5已经慢慢的成为主流,之前的数十年一直都是Html4.01的天下,Html4.01于1999年成为标准后一直成为大多数人使用的Html版本。2000年的时候W3C发布了HTML4.01的XML版命名为XHTML1.0。Html4.01和XHTML1.0之间主要的区别就是遵守XML编码约定,标签闭合就是XML基础规范。XHTML1.1作为后来者更接近XML,但是跟XHTML1.0相比,XHTML1.0可以作为Html文档,XHTML1.1页面是作为XML发送给浏览器,即使XHTML1.1中只含有一个错误(未编码的&的符号),web浏览器无法显示页面,因为XHTML1.1不受欢迎。

Html5和XHTML2

Html是一种基于标准通用标记语言(SGML)的应用,XHTML则基于可扩展标记语言(XML),HTML和XHTML其实是平行发展的两个标准。本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。建立XHTML的目的就是实现HTML向XML的过渡。XML设计用来传送及携带数据信息,不用来表现或展示数据,HTML语言则用来表现数据。

XHTML只是在内容结构上改进原有的HTML系统,XHTML2.0也仅仅在XHTML1.1的基础上更加注重页面规范和可用性,缺乏交互性。在Web App大行其道的年代,XHTML2就不合时宜了,于是就催生了HTML5。W3C无视Web设计人员的需求,仅从理论角度闭门造车,却扛着标准的大旗,引发了来自Opera、Apple以及Mozilla等浏览器厂商的反对声音。2004年,他们组建了一个以推动网络HTML5标准为目的的组织——网页超文本技术工作小组(Web Hypertext Application Technology Working Group,缩写为WHATWG)。

Html5目标是取代HTML4.01和XHTML1.0标准,旨在提高网页性能,增加页面交互。Html5吸取了XHTML2一些建议,包括一些用来改善文档结构的功能,比如,新的HTML标签header、footer、dialog、aside、figure等的使用,将使内容创作者更加语义地创建文档,之前的开发者在这些场合是一律使用div的。

W3C与WHATWG双方经过多年努力,终于在2006年达成妥协。2006年10月,Web之父、万维网联盟(W3C)主席、美国国家科学院院士蒂姆·伯纳斯-李(Tim Berners-Lee)发表了一篇博客文章表示,从HTML走向XML的路是行不通的(XHTML is dead)。2009年W3C明智的放弃了改进XHTML2.0标准的计划,选择了WHATWG的成果作为基础。事实上,XHTML在2002年更新之后的数年时间里,尽管发现了众多问题,但都没有去修改过。W3C在2014年10月29日,Html5标准规范终于制定完成。

文档类型(DTD)和DOCTYPE

文档类型定义(Document Type Definition)是一套关于标记符的语法规则,定义了XML或者HTML的特定版本中允许有什么,不允许有什么,在渲染解析页面的时候浏览器会根据这些规则检查页面的有效性并且采取相应的措施。关于DOCTYPE的三种风格,严格(strict),过渡(transitional)和框架集(frameset)。<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。

Html4.01 和XHTML1.0:

strict模式:

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

过渡(transitional)模式:

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

框架集(frameset):

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

框架集(frameset)用的情况比较少,strict风格的 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font),过渡(transitional)风格的DTD仍然使用已经废弃的元素,但是Html5中就不需要这么复杂了,只有一个DOCTYPE:

<!DOCTYPE html>

浏览器厂商创建与标准兼容的浏览器时,他们希望确定向后兼容性,为了实现这一点他们创建两种呈现模式,标准模式和混杂模式(quirks mode),在标准模式中,浏览器根据规范呈现页面,在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。Html4.01中的如果包含DTD的DOCTYPE都是以标准模式呈现,如果DOCTYPE不存在或者形式不正确会HTML和XHTML文档以混杂模式呈现。

时间: 2024-10-21 16:55:33

Html-文档类型(DTD)和DOCTYPE的相关文章

文档类型DTD,DOCTYPE和浏览器模式

出处:http://blog.csdn.net/freshlover/article/details/11616563 浏览器从服务端获取网页后会根据文档的DOCTYPE定义显示网页,如果文档正确定义了DOCTYPE浏览器则会进入标准模式(Standards Mode),否则浏览器会进入怪异模式或混杂模式(Quirks mode). 浏览器开发初期W3C倡导的网页标准并不流行,因此浏览器有独特的对网页标签或属性的解析模式,随着日后网页标准的流行,浏览器增加了对新标准的支持(Standards M

HTML系列——文档类型DTD

文档类型通常是是HTML文件的第一行,DTD(Document Type Definition),它的作用是什么呢?文档类型定义是一种保证标准通用标记语言.可扩展标记语言文档格式正确的有效方法,可通过比较文档和文档类型定义文件来看文档是否符合规范,元素和标签使用是否正确.简单来说,就是告诉浏览器我的HTML文档代码是遵从哪个文档规范编写的,这样子浏览器才可以正确解析HTML语句,渲染DOM节点. 那么有哪些文档规范可以选择呢?(参照http://www.w3school.com.cn/tags/

DTD文档类型定义文件简介

dtd 基本概念: dtd ( document type definition  文档类型定义),该文件一般和xml文件配合使用, 主要的用处是约束 xml. 除了 dtd 技术外, 还有一个schema的技术也可以用于约束xml文件的书写规范. 现在请看一个问题: <stu id="a"0&apos;0&apos;1<" > <name>杨过</name> <sex>男</sex> <

HTML的文档类型:&lt;!DOCTYPE &gt;

<!DOCTYPE> 声明:它不是 HTML 标签而且对大小写不敏感,而是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令.而且 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. 没有<!DOCTYPE> 声明的后果:如果没有文档类型声明,大多数浏览器(包含IE和火狐)将转换到一种混杂模式,在这种模式下,浏览器之间同一种样式会出现不一致.而添加声明后,浏览器就知道你想要使用更严格的标准模式. 最简单的HTML5文档: <!DOV

HTML DOCTYPE文档类型举例说明

HTML4.01文档过渡定义类型,此类型定义的文档可以使用HTML中的标签与元素包括一些不被W3C推荐的标签(例如:font.b等),不可以使用框架 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> HTML4.01文档严格定义类型,此类型定义的文档可以使用HTML中的标签与元素,不能包含不被W3C推

XML--- XML文档类型定义(DTD)

**定义:**DTD定义了文档的逻辑结构,规定了文档中所使用的元素.实体.元素的属性.元素与实体之间的关系.其作用主要表现在以下几个方面. (1) 使用DTD可以提供一种统一的格式.XML的可扩展性为文档的作者提供了很高的灵活性,可有时候需要的是统一,要求某一类文档具有相同的结构. (2) 使用DTD可以保证数据交流和共享的顺利进行. (3) DTD使用户能够不依赖具体的数据就知道文档的逻辑结构.在没有XML文档的时候,也可以根据DTD为XML文档编写样式单,编写处理程序,这样可以有效地提高工作

DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义

DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果,开始以为书写顺序不对,于是调整书写顺序,还是不行,最后找到了我认为最没什么用处的第一行才发现真正起作用的竟然是 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http//www.w3.org

有效的XML: DTD(文档类型定义)介绍(转)

文档类型定义和命名空间 有效(Valid)的XML文档: 首先,XML文档是个格式正规的(Well-formed)XML文档:(见格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节). 其次,需要满足DTD的要求,这样的XML文档称为有效的(Valid)XML文档. DTD DTD,即文档类型定义——Document Type Definition. DTD用来描述XML文档的结构, 一个DTD文档包含: 元素(ELEMENT)的定义规则: 元素之间的关系规则: 属性(ATTLI

DOCTYPE 文档类型声明

DOCTYPE声明文档类型,以便验证文档是否符合文档类型定义(DTD),同时指定了浏览器关于页面使用哪个HTML版本进行编写的指令.开发人员在编写完html代码后,要进行有效性验证.w3c提供了一个验证文档有效性的在线服务:http://validator.w3.org/. DOCTYPE声明不是html标签,必须放在html文档的第一行,而且绝不能在它之前添加xml声明语句,否则在IE6会触发怪异模式.在HTML 4.0中,DOCTYPE引用了DTD,因为HTML 4.0基于SGML.DTD规