當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > DIV+CSS > HTML與XHTML的區(qū)別

HTML與XHTML的區(qū)別

2012/11/23 10:07:23作者:佚名來源:網(wǎng)絡(luò)

移動端

一、HTML與XHTML


HTML是一種基本的Web網(wǎng)頁設(shè)計(jì)語言,XHTML是一個(gè)基于XML的置標(biāo)語言,看起來于HTML有些像,只有一些小的區(qū)別,本質(zhì)上說,XHTML是一個(gè)過渡技術(shù),結(jié)合了XML的強(qiáng)大功能及HTML的簡單特性。

二、什么是XHTML

HTML是一種基本的網(wǎng)頁設(shè)計(jì)語言,XHTML是一個(gè)基于XML的語言,看起來與HTML有些類似.只有一些小的但重要的區(qū)別,其中使用的元素均為HTML中的元素,同時(shí)使用更加嚴(yán)格的語法規(guī)范。

2000年底,國際W3C組織公布發(fā)行了XHTML1.0版本。XHTML1.0是一種在HTML4.o基礎(chǔ)上優(yōu)化和改進(jìn)的新語言,目的是基于XML應(yīng)用。XHTML是一種增強(qiáng)了的HTML,它的可擴(kuò)展性和靈活性將適應(yīng)未來網(wǎng)絡(luò)應(yīng)用更多的需求。XML雖然數(shù)據(jù)轉(zhuǎn)換能力強(qiáng)大,完全可以替代HTML,但面對成千上萬已有的基于HTML語言設(shè)計(jì)的網(wǎng)站,直接采用XML還為時(shí)過早。因此,在HTML4.0的基礎(chǔ)上,用XML的規(guī)則對其進(jìn)行擴(kuò)展,得到了XHTML。所以,建立XHTML的目的就是實(shí)現(xiàn)HTML向XML的過渡。目前國際上在網(wǎng)站設(shè)計(jì)中推崇的Web標(biāo)準(zhǔn)就是基于XHTML的應(yīng)用(即通常所說的CSS+DIV)。

三、DOCTYPE聲明

在XHTML中必須聲明文檔的類型,以便于瀏覽器知道當(dāng)前瀏覽的文檔是什么類型。聲明DOCTYPE必須放在文檔的第一行。當(dāng)瀏覽器檢測到DOCTYPE后就會轉(zhuǎn)換到標(biāo)準(zhǔn)模式,對HTML和CSS按照標(biāo)準(zhǔn)的方式解釋,不必再把時(shí)間用在彌補(bǔ)、解釋不規(guī)范的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>無標(biāo)題文檔</title>
</head>
<body>
</body>
</html>

可以看到最上面有兩行關(guān)于DOCTYPE(文檔類型)的聲明,它就是告訴瀏覽器使用XHTML1.0的過渡規(guī)范來解釋這個(gè)文檔中的代碼。

四、XHTML與HTML的重要區(qū)別

(1)、HTML是一種基本的web網(wǎng)頁設(shè)計(jì)語言,XHTML是一個(gè)基于XML的置標(biāo)語言,看起來與HTML有些像,只有一些小的但重要的區(qū)別。

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

XHTML元素必須是完全嵌套的,HTML則并不嚴(yán)格,不完全嵌套的元素也能被“容錯(cuò)”。如下所示。

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

<b><i>這是粗體和斜體</b></i>

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

<b><i>這是粗體和斜體</b></i>

(3)、XHTML文檔格式必須規(guī)范

所有的xHTML標(biāo)記必須被嵌套使用在<html>根標(biāo)簽之中。所有其他的標(biāo)簽可以有自已的子標(biāo)簽。位于父標(biāo)簽之內(nèi)的子標(biāo)簽也必須成對且正確的嵌套使用。一個(gè)網(wǎng)頁的基本結(jié)構(gòu)如下所示。

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

(4)、標(biāo)簽名必須是小寫的

這是因?yàn)閄HTML文檔是XML應(yīng)用程序,XML是區(qū)分大小寫的,像<b>和<B>會被認(rèn)為是兩種不同的標(biāo)簽。

如下寫法是錯(cuò)誤的。

<B>這是粗體</B>

正確的寫法如下。

<b>這是粗體</b>

(5)、所有的XHTML元素都必須有始有終

非空元素必須有關(guān)閉標(biāo)簽。
如下所示的寫法是錯(cuò)誤的。

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

正確的寫法如下。

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

空的元素也必須有一個(gè)結(jié)束標(biāo)簽,或者開始標(biāo)簽用/>結(jié)束。
如下所示的寫法是錯(cuò)誤的。

<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定義了一個(gè)name屬性,在XHTML里除了表單(form)外,name屬性不能使用,應(yīng)該用id來替換。

如下寫法是錯(cuò)誤的。

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

正確的寫法如下。

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

為了使舊瀏覽器也能正常地執(zhí)行該內(nèi)容,也可以在標(biāo)簽中同時(shí)使用id和name屬性,如下所示

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

(7)、屬性必須加上英文雙引號

XHTML中所有的屬性,包括數(shù)值都必須加上英文雙引號(" "),代碼如下所示。

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

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


XHTML中規(guī)定每一個(gè)屬性都必須有一個(gè)值。沒有值的屬性也必須用自己的名稱作為值。例如,在HTML中,checked  性是可以不取值的,但是在XHTML中必須用它自身的名稱作為值。示例代碼如下。

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


標(biāo)簽: HTML  XHTML  區(qū)別