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" / >