欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

html各个版本doctype详细介绍

程序员文章站 2022-04-19 14:53:37
...

Xhtml和html区别:

·HTML 1.0 -- 1993年6月,IETF发布

·HTML 2.0 -- 1995年11月,发布

·HTML 3.2 -- 1996年1月,W3C推荐标准

·HTML 4.0 -- 1997年12月,W3C推荐标准

·HTML 4.01 -- 1999年12月,W3C推荐标准

·HTML 5.0 -- 2008年8月,W3C工作草案

HTML 2.0 是过时的 HTML 版本,大概在1996年。

HTML3.2大概是在1997年那时候是一个没有style样式的年代。一些显示方式都是以属性标签,或属性来实现的。如:〈CENTER〉<color>ALIGN=CENTER等。后面的版本也遗留了一些。

XHTML 是最新的HTML版本。HTML 教程

但HTML 5并不是由W3C直接制定的,是不同浏览器厂商WHATWG进行制定的.

W3c上的验证问题

一个元素出现在比doctype声明的HTML版本更晚的规范中,就不解释呈现该元素吗?不会,当然不会!它照样会解释呈现该元素,别忘了伯斯塔尔法则,别忘了健壮性。浏览器在接收的时候必须要开放。因此,它不会检查任何格式类型,而验证器会(w3c的),验证器才关心格式类型。这才是存在doctype的真正原因。

W3c标准和浏览器上显示的一些区别

这也是为什么w3cshool上有些版本不支持的元素如center,font等仍然可以在xhtml 1.0 和html5 有其原有功能的原因。-----浏览器容错能力。也就是伯斯塔尔法则,又称健壮性法则,他的主要含义就是“发送时保守,接收时开放”。浏览器厂商都明白他们必须支持所有的版本,他们不会因为现在大家都用HTML4.1或者HTML5编写网站就不再支持HTML以前的版本。道理很简单,浏览器必须向后兼容。这就是浏览器“接收时开放”的精神的。

发送时保守”是告诫web开发人员的,你的HTML代码应该写的尽可能符合标准,能够方便别人(浏览器)去解析,

为什么要通过w3c的验证呢(很多都不通过w3c的验证)

如果你在设计页面的时候按照W3C标准的话,那么恭喜你:SEO(搜索引擎优化)的工作你已经完成了一半!为什么我会这么说呢?还有一半工作在哪呢?看了这篇文章以后你会不会按照W3C标准重构你的网站呢?且看我下面的观点。

XHTML

XHTML 1.0 使用 XML 对 HTML 4.01 进行了重新地表示。

作为一项 W3C 推荐,XHTML 1.0 发布于 2000 年 1 月 20 日。

Xhtml是以xml 为基础引入的具有良好编排行的新概念。是更为严格,更为纯净的html;

Xhtml区别1:大小写严格区分。Xhtml 元素名和属性必须小写。

2.对非空元素必须闭合标签空标签像<br>.<img> 应该写为<br/>,<img/>

3.属性引号不能省略

W3C 的标准化程序分为 7 个不同的步骤。

样式表可描述文档如何被显示、发音或打印 4.

大牛解释

XHTML 1.0与HTML4.01其实是一样的。我的意思是说,从字面上看这两个规范的内容是一样的,词汇表是一样的,所有的元素是一样,所有的属性也都是一样的。唯一一点不同之处,就是XHTML1.0要求使用XML语法。也就是说,所有属性都必须使用小写字母,所有元素也必须使用小写字母,所有属性值都必须加引号,你还得记着使用结束标签,记着对img和br要使用自结束标签。

XHTML 产生的原因

1.html的语法要求比较松散,对于网页编写者来说比较方便,但是对于机器来说就比较麻烦,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,如手机,难度就比较大,因此产生了DTD定义规则,语法要求更加严格的xhtml。

2.xhtml的目标是取代html,xhtml是更严格更纯净的html版本,它与html4.01几乎是相同的。

http://baike.soso.com/v8351954.htm#para3

XML 会被用来描述和存储数据,而HTML 会被用来显示数据。

W3c有了xhtml为什么还要发展html5呢??

对XHTML1.1来说,唯一的变化是你必须把自己的文档标记为XML文档。把文档标记为XML后,Internet Explorer不能处理。当然,IE9是可以处理了,所以说XHTML 1.1有点脱离现实。

这也就有了后面浏览器厂商和w3c对于html发展产生了分歧。W3c主站继续xhtml方向扩展。最终浏览器厂商则自己来弄html扩展,也就是现在html5;不过后来w3c和浏览器厂商又同意一起来参与了html5扩展。

HTML5

HTML 5的另一个设计原理,它必须向前向后兼容,兼容未来的HTML版本

HTML 5增加了更多样化的API,提供了嵌入音频视频图片函数、客户端数据存储,以及交互式文档。其他特性包括新的页面元素,比如 <header>, <section>, <footer>,以及 <figure>。

一些新的元素和属性,反映典型的现代用法网站。其中有些是技术上类似<div>和<span>标签,但有一个含义,例如<nav>(网站导航块)和<footer>。这种标签将有利於搜索引擎的索引整理、小萤幕装置和视障人士使用。同时为其他浏览要素提供了新的功能,通过一个标准介面,如<audio>和<video>标记。
  一些过时的HTML 4标记将取消。其中包括纯粹显示效果的标记,如<font>和<center>,因为它们已经被CSS取代。

Html5:支持已有的内容。(对浏览器而言,必须支持他们以前其他版本的要求。)。所以它对标签的大小写又不区分了。(用惯xhtml可能会不太习惯)

1.<imgsrc="foo"alt="bar"/>

2.<pclass="foo">Hello world</p>

3.<imgsrc="foo"alt="bar">

4.<pclass="foo">Hello world

5.<IMGSRC="foo"ALT="bar">

6.<PCLASS="foo">Hello world</P>

7.<imgsrc=fooalt=bar>

8.<pclass=foo>Hello world</p>

这几种语法在html5中都是没问题的

Doctype

Doctype定义了您正在使用的 HTML 版本。各个版本的doctype定义

<!DOCTYPE> 声明对大小写不敏感。

???为什么不支持的模式下如strickt ,frameset照常可以使用

HTML 4.01 Strict, Transitional, Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict, Transitional, Frameset

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

XHTML 1.1 DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Strict, Transitional,frameset(三者之间的区别。)

Html strict,xhtml strict 严格模式该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如font,center)。不允许框架集(Framesets)

Html transitional,xhtml transtional过度模式包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)

Frameset该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。包括展示性的和弃用的元素(比如font)。允许框架集(Framesets)

但是大部分主流的浏览器都会容许某些的错误,这里的strict下不支持font是指不能通过w3c的验证,并可以成功显示出网页,即使网页的结构是不正确的。


XHTML 1.1该 DTD 等同于 XHTML 1.0Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。

Html4.01是标准模式,而html5 doctype是准标准模式

如果没有DOCTYPE,浏览器会进入一种被称为Quirks模式的怪异状态,在该模式下,浏览器的盒模型、样式解析、布局等都与标准规定的存在差异。浏览器就会进入Quirks怪异模式

随着HTML5的逐渐流行,很多网站都用上了HTML5规范来编写HTML代码,HTML5的HEAD区的写法跟XTHML有一些差别,下面就用对照的方法写出两者的差别,希望能对同学们编写HTML5代码起到帮助作用。

以上就是html各个版本doctype详细介绍的详细内容,更多请关注其它相关文章!

相关标签: html