1,

HTML

XHTML

的区别

 

HTML

XHTML

是一种语言还是两种语言?基本上可以认为,它们是一种语言的

不同阶段,有点类似于文言文和白话文之间的关系。因此它们也经常被写作

(X)HTML

。下面首先从它们的渊源和区别开始本教程的讲解:

 

一、追根溯源

 

(X)HTML

是所有上网的人每天都离不开的基础,所有网页都是使用

(X)HTML

编写

的。

随着网络技术日新月异的发展.

HTML

也经历了不断的改进。

可以认为

XHTML

HTML

的“严谨版”。

 

HTML

在初期,为了它更广泛地被接受,大幅度放宽了标准的严格性,例如标记

可以不封闭,属性可以加引号,也可以不加引号,等等,导致出现了很多混乱和

不规范的代码。这

 

显然不符合标准化的发展趋势,影响了互联网的进一步发展。

 

为此,相关规范的制订者——

W3C

组织.一直在不断地努力,逐步推出新的版本

规范。从

HTML

XHTML

.大致经历了以下几个版本。

 

◆ HTML 2.0: 于

1995

l 1

月发布。

 

◆ HTML 3.2: 于

1996

1

14

日发布.

 

◆ HTML 4.0: 于

1997

12

18

日发布。

 

◆ HTML 4.01(微小改进)

1999

12

24

日发布,

 

◆ 

XHTML 

1.0: 

2000

1

月发布,

后叉经迂修订于

2002

8

1

日重新发布。

 

◆ XHTML 1.1: 于

2001

5

31

日发布。

 

◆ XHTML 2.0: 正在制定中。

 

在正式的标准序列中,

没有

HTML1.0

版,

这是因为在最初阶段.

各个机构都推出

了目己的方案,没有形成统一的标准。因此.

W3C

组织发布的

HTML 2.O

是形成

标准以后的第一个正式规范。

WANGYEXX.COM

 

这些规范实际上主要是为浏览器的开发者阅读的,

因为他们必须了解这些规范的

所有细节。

而对于网页设计师来说,

并不需要了解规范之间的细微差别,

这与

 

际工作并不十分相关。因此,网页设计师通常只要知道一些大的原则就可以了。

而且这些规范的文字也都比较晦涩,

并不易阅读。

当然.

如果设计师真的能够花

 

些时间把

HTML

css

的规范仔细通读一遍,

将会有巨大的收获。

因为这些规

范是所有设计师的“圣经”。

知识:

W3C

组织就是

World Wide Web Consortium

(全秋万维网联盟)的简称。

W3C

组织创建于

l994

年.研究

Web

规范和指导方针,致力于推动

Web

发展,保

证各种

Web

技术能很

 

好地协同工作。

W3C

的主要职责是确定来来万维网的发展

方向,并且制定相关的建议(

Recommendation

.由

W3C

是一个民间组织,没有约

束性,

 

因此只提供建议)。

 

HTML 4.01

规范建议(

HTML 4.01 Specification Recommendation

)就是由

W3CF

制定的。它还负制

CSS

XML

XHTML

MathML

等其他网络语言规范。

 

二、

DOCTYPE

(文档类型)的含义与选择

 

Dreamweaver 

MX 

2004

版开始,

在使用

Dreamweaver

新建一个网页文档的时候,

默认情况下生成的基本网页代码是这样的:

 

1.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN

"  

2.

 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

3.

 

<html xmlns="http://www.w3.org/1999/xhtml">  

4.

 

<head>  

5.

 

<meta http-equiv="Content-Type" content="text/html; charset=u

tf-8" />  

6.

 

<title>

无标题文档

</title>  

7.

 

</head>  

8.

 

  

9.

 

<body>  

10.

 

</body>  

11.

 

</html>  

可以看到最上面有两行关于“DOCTYPE”(文档类型)的声明,它就是告诉浏览

器,使用哪种规范来解释这个文档中的代码。

 

设计师可以在新建文档的时候选择使用哪种文档类型。

Dreamweaver

的新建文

档对话框中,在右下方有—个文档类型下拉框,如图

1

所示。

 

 

Dreamweaver

中选择文档类型

 

对于

HTML

 4.01

XHTML 1.0

分别对应于一种严格(

Strict

)类型和一种过渡

Transitional

类型。

过渡类型兼容以前版本定义的,

而在新版本已经废弃的

标记和属性。严格类型则不兼容已经废弃的标记和属性。

 

注意:

目前,建议读者使用

XHTML 1.O transitional

XHTML 1.0

过渡类型),

这样设计师可以按照

XHTML

的标准书写符合

Web

标准的网页代码。

司时在一些特

蛛情况下还可以使用传统的做法。

 

三、

XHTML

HTML

的重要区别

 

尽管目前浏览器都兼容

HTML

.但是为了使网页能够符合标准,设计师应该尽量

使用

XHTML

规范来编写代码,需要注意以下事项。

 

1.

XHTML

中标记名称必须小写

 

HTML

中,

标记名称可以大写或者小写。

例如,

下面的代码在

HTML

中是正确的。

 

1.

 

<BODY>  

2.

 

    <P>

网页学习网

(WANGYEXX.COM)</P>  

3.

 

</BODY>  

但是在

XHTML

中,则必须写为:

 

1.

 

<body>  

2.

 

     <p>

网页学习网

(WANGYEXX.COM)</p>    

3.

 

</body>   

2.

XHTML

中属性名称必须小写

 

HTML

属性的名称也必须是小写的。例如,在

XHTML

中下面的代码的写法是错误

的。

 

1.

 

<IMG SRC="p_w_picpath.gif" WIDTH="200" HEIGHT="100" BORDER="0">  

正确的写法应该是:

 

1.

 

<img src="p_w_picpath.gif" width="200" height="100" border="0">   

3.

XHTML

中标记必须严格嵌套

 

HTML

中对标记的嵌套没有严格的规定。例如,下面的代码在

HTML

中是正确的。

 

1.

 

<b><i>

这行文字以粗体倾斜显示

</b></i>  

然而在

XHTML

中,必须改为:

 

1.

 

<b><i>

这行文字以粗体倾斜显示

</i></b>   

此外,

经常被忽略的是对列表标记的嵌套写法。

例如,

下面的写法在

XHTML

中是

错误的。

 

1.

 

<ul>  

2.

 

    <li>

咖啡

</li>  

3.

 

    <li>

   

4.

 

        <ul>  

5.

 

               <li>

红茶

</li>  

6.

 

               <li>

绿茶

</li>  

7.

 

        </ul>  

8.

 

    <li>

牛奶

</li>       

9.

 

</ul>  

正确的写法是:

 

1.

 

<ul>  

2.

 

     <li>

咖啡

</li>  

3.

 

     <li>

   

4.

 

          <ul>  

5.

 

                <li>

红茶

</li>  

6.

 

                <li>

绿茶

</li>  

7.

 

        </ul>  

8.

 

     </li>  

9.

 

     <li>

牛奶

</li>         

10.

 

</ul>  

4.

XHTML

中标记必须封闭

 

HTML

规范中,下列代码是正确的。

 

1.

 

<p>

网页学习网

   

2.

 

<p>WANGYEXX.COM  

上述代码中,第

2

<p>

标记就意味着前一个

<p>

标记的结束,但是在

XHTML

中,

这是不允许的,二必须严格地使标记已封闭,正确写法如下所示。

 

1.

 

<p>

网页学习网

</p>  

2.

 

<p>WANGYEXX.COM</p>  

5.

XHTML

中,即使是空元素的标记也必须封闭

 

这里说的空元素的标记,就是指那些

<img>

<br>

等不成对的标记,它们也必须

封闭,例如下面的写法是错误的。

 

1.

 

换行

<br>  

2.

 

水平线

<hr>  

3.

 

图像

<img src="happy.gif" alt="

知识:

W3C

组织就是

World Wide Web Consortium

(全秋万维网联盟)的简称。

W3C

组织创建于

l994

年.研究

Web

规范和指导方针,致力于推动

Web

发展,保

证各种

Web

技术能很

 

好地协同工作。

W3C

的主要职责是确定来来万维网的发展

方向,并且制定相关的建议(

Recommendation

.由

W3C

是一个民间组织,没有约

束性,

 

因此只提供建议)。

 

HTML 4.01

规范建议(

HTML 4.01 Specification Recommendation

)就是由

W3CF

制定的。它还负制

CSS

XML

XHTML

MathML

等其他网络语言规范。

 

二、

DOCTYPE

(文档类型)的含义与选择

 

Dreamweaver 

MX 

2004

版开始,

在使用

Dreamweaver

新建一个网页文档的时候,

默认情况下生成的基本网页代码是这样的:

 

1.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN

"  

2.

 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

3.

 

<html xmlns="http://www.w3.org/1999/xhtml">  

4.

 

<head>  

5.

 

<meta http-equiv="Content-Type" content="text/html; charset=u

tf-8" />  

6.

 

<title>

无标题文档

</title>  

7.

 

</head>  

8.

 

  

9.

 

<body>  

10.

 

</body>  

11.

 

</html>  

可以看到最上面有两行关于“DOCTYPE”(文档类型)的声明,它就是告诉浏览

器,使用哪种规范来解释这个文档中的代码。

 

设计师可以在新建文档的时候选择使用哪种文档类型。

Dreamweaver

的新建文

档对话框中,在右下方有—个文档类型下拉框,如图

1

所示。

 

 

Dreamweaver

中选择文档类型

 

对于

HTML

 4.01

XHTML 1.0

分别对应于一种严格(

Strict

)类型和一种过渡

Transitional

类型。

过渡类型兼容以前版本定义的,

而在新版本已经废弃的

标记和属性。严格类型则不兼容已经废弃的标记和属性。

 

注意:

目前,建议读者使用

XHTML 1.O transitional

XHTML 1.0

过渡类型),

这样设计师可以按照

XHTML

的标准书写符合

Web

标准的网页代码。

司时在一些特

蛛情况下还可以使用传统的做法。

 

三、

XHTML

HTML

的重要区别

 

尽管目前浏览器都兼容

HTML

.但是为了使网页能够符合标准,设计师应该尽量

使用

XHTML

规范来编写代码,需要注意以下事项。

 

1.

XHTML

中标记名称必须小写

 

HTML

中,

标记名称可以大写或者小写。

例如,

下面的代码在

HTML

中是正确的。

 

1.

 

<BODY>  

2.

 

    <P>

网页学习网

(WANGYEXX.COM)</P>  

3.

 

</BODY>  

但是在

XHTML

中,则必须写为:

 

1.

 

<body>  

2.

 

     <p>

网页学习网

(WANGYEXX.COM)</p>    

3.

 

</body>   

2.

XHTML

中属性名称必须小写

 

HTML

属性的名称也必须是小写的。例如,在

XHTML

中下面的代码的写法是错误

的。

 

1.

 

<IMG SRC="p_w_picpath.gif" WIDTH="200" HEIGHT="100" BORDER="0">  

正确的写法应该是:

 

1.

 

<img src="p_w_picpath.gif" width="200" height="100" border="0">   

3.

XHTML

中标记必须严格嵌套

 

HTML

中对标记的嵌套没有严格的规定。例如,下面的代码在

HTML

中是正确的。

 

1.

 

<b><i>

这行文字以粗体倾斜显示

</b></i>  

然而在

XHTML

中,必须改为:

 

1.

 

<b><i>

这行文字以粗体倾斜显示

</i></b>   

此外,

经常被忽略的是对列表标记的嵌套写法。

例如,

下面的写法在

XHTML

中是

错误的。

 

1.

 

<ul>  

2.

 

    <li>

咖啡

</li>  

3.

 

    <li>

   

4.

 

        <ul>  

5.

 

               <li>

红茶

</li>  

6.

 

               <li>

绿茶

</li>  

7.

 

        </ul>  

8.

 

    <li>

牛奶

</li>       

9.

 

</ul>  

正确的写法是:

 

1.

 

<ul>  

2.

 

     <li>

咖啡

</li>  

3.

 

     <li>

   

4.

 

          <ul>  

5.

 

                <li>

红茶

</li>  

6.

 

                <li>

绿茶

</li>  

7.

 

        </ul>  

8.

 

     </li>  

9.

 

     <li>

牛奶

</li>         

10.

 

</ul>  

4.

XHTML

中标记必须封闭

 

HTML

规范中,下列代码是正确的。

 

1.

 

<p>

网页学习网

   

2.

 

<p>WANGYEXX.COM  

上述代码中,第

2

<p>

标记就意味着前一个

<p>

标记的结束,但是在

XHTML

中,

这是不允许的,二必须严格地使标记已封闭,正确写法如下所示。

 

1.

 

<p>

网页学习网

</p>  

2.

 

<p>WANGYEXX.COM</p>  

5.

XHTML

中,即使是空元素的标记也必须封闭

 

这里说的空元素的标记,就是指那些

<img>

<br>

等不成对的标记,它们也必须

封闭,例如下面的写法是错误的。

 

1.

 

换行

<br>  

2.

 

水平线

<hr>  

3.

 

图像

<img src="happy.gif" alt="

欢迎笑脸

">  

">

 

正确的写法应该是:

 

1.

 

换行

<br />  

2.

 

水平线

<hr />    

3.

 

图像

<img src="happy.gif" alt="

欢迎笑脸

" />   

6.

XHTML

中属性值用双引号括起来

 

HTML

中,属性可以不必使用双引号,例如:

 

1.

 

<p class=subTitle>  

而在

XHTML

中,必须严格写作:

 

1.

 

<p class="subTitle">  

7.

XHTML

中属性值必须使用完×××式

 

HTML

中,一些属性经常使用简写方式设定属性值,例如:

WANGYEXX.COM

 

1.

 

<input disabled>  

而在

XHTML

中,必须完整地写作:

 

1.

 

<input disabled = "true">   

8.

XHTML

中,应该区分“内容标记”与¨结构标记”

 

例如

<p>

标记是一个内容标记,

<table>

标记是结构标记,

因此不允许将

<tabIe>

标记置于

<p>

内部。而如果将

<p>

标记置于

<td></td>

之间,则是完全正确的。

 

有时这种错误不容易被注意到,

Dreamweaver

中也得不到提示。

但是在微软公

司新推出的网页制作软件

Expression Web

中。则会给出明确的提示,如图

2

示。

 

 

Expression Web

中提示错误

 

<table>

标记的下方出现红色波浪线,表示存在错误。将鼠标指针移动到

<table>

标记上,则会出现提示文字“在

 XHTML 1.0 Transitional

中,标记

<p>

不能包含标记<table>”。有兴趣的读者可以尝试一下这个新的网页设计软件。