软件学堂

网游分类软件分类

HTML与XHTML的区别

2012-11-23 来源:网络

一、HTML与XHTML


HTML是一种基本的Web网页设计语言,XHTML是一个基于XML的置标语言,看起来于HTML有些像,只有一些小的区别,本质上说,XHTML是一个过渡技术,结合了XML的强大功能及HTML的简单特性。

二、什么是XHTML

HTML是一种基本的网页设计语言,XHTML是一个基于XML的语言,看起来与HTML有些类似.只有一些小的但重要的区别,其中使用的元素均为HTML中的元素,同时使用更加严格的语法规范。

2000年底,国际W3C组织公布发行了XHTML1.0版本。XHTML1.0是一种在HTML4.o基础上优化和改进的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的基于HTML语言设计的网站,直接采用XML还为时过早。因此,在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。所以,建立XHTML的目的就是实现HTML向XML的过渡。目前国际上在网站设计中推崇的Web标准就是基于XHTML的应用(即通常所说的CSS+DIV)。

三、DOCTYPE声明

在XHTML中必须声明文档的类型,以便于浏览器知道当前浏览的文档是什么类型。声明DOCTYPE必须放在文档的第一行。当浏览器检测到DOCTYPE后就会转换到标准模式,对HTML和CSS按照标准的方式解释,不必再把时间用在弥补、解释不规范的HTML上了,所以页面显示的速度就会更快。如下所示为使用DOClTYPE声明。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
</body>
</html>

可以看到最上面有两行关于DOCTYPE(文档类型)的声明,它就是告诉浏览器使用XHTML1.0的过渡规范来解释这个文档中的代码。

四、XHTML与HTML的重要区别

(1)、HTML是一种基本的web网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些像,只有一些小的但重要的区别。

(2)、XHTML元素必须是完全嵌套的

XHTML元素必须是完全嵌套的,HTML则并不严格,不完全嵌套的元素也能被“容错”。如下所示。

在HTML中一些元素可以不使用正确的相互嵌套。

<b><i>这是粗体和斜体</b></i>

在XHTML中所有元素必须合理的相互嵌套。

<b><i>这是粗体和斜体</b></i>

(3)、XHTML文档格式必须规范

所有的xHTML标记必须被嵌套使用在<html>根标签之中。所有其他的标签可以有自已的子标签。位于父标签之内的子标签也必须成对且正确的嵌套使用。一个网页的基本结构如下所示。

<html>
<head>···</head>
<body>···</body>
</html>

(4)、标签名必须是小写的

这是因为XHTML文档是XML应用程序,XML是区分大小写的,像<b>和<B>会被认为是两种不同的标签。

如下写法是错误的。

<B>这是粗体</B>

正确的写法如下。

<b>这是粗体</b>

(5)、所有的XHTML元素都必须有始有终

非空元素必须有关闭标签。
如下所示的写法是错误的。

<p>这是第一段
<p>这是第二段

正确的写法如下。

<p>这是第一段</p>
<p>这是第二段</p>

空的元素也必须有一个结束标签,或者开始标签用/>结束。
如下所示的写法是错误的。

<img src"···">
<input  type="text">
<meta  http-equiv="content-Type"  content="text/html;  charset=gb2312">
<br>
  正确的写法如下。

<img src"···">
<input  type="text">
<meta  http-equiv="content-Type"  content="text/html;  charset=gb2312">
</br>

(6)、用id属性代替name属性

HTML4.01中为a、applet、flame、iframe、img和map定义了一个name属性,在XHTML里除了表单(form)外,name属性不能使用,应该用id来替换。

如下写法是错误的。

<img  src="img/pic.jpg"  name="people">

正确的写法如下。

<img  src="img/pic.jpg"  id="people">

为了使旧浏览器也能正常地执行该内容,也可以在标签中同时使用id和name属性,如下所示

<img  src="img/pic.jpg"  id="people"  name="people">

(7)、属性必须加上英文双引号

XHTML中所有的属性,包括数值都必须加上英文双引号(" "),代码如下所示。

<img  name=" "src" "  width="32"  height="32"  alt=" "/>

(8)、在XHTML中属性值必须使用完整形式


XHTML中规定每一个属性都必须有一个值。没有值的属性也必须用自己的名称作为值。例如,在HTML中,checked  性是可以不取值的,但是在XHTML中必须用它自身的名称作为值。示例代码如下。

<input  type="checkbox"  name="sox"  value="abc"  checked="checked"   /   >


上一篇:浮动框架的边框frameborder
下一篇:乱煮江湖攻略玩法

相关文章