XHTML介紹: XHTML是 EXtensible HyperText Markup Language(可擴展超文本標記語言) 的英文縮寫,而HTML則是 HyperText Markup Language(超文本標記語言) ,這是名字的不同。其實我們說得標準應該是XML,那為什么要學習XHTML呢?因為現(xiàn)在的HTML代碼煩瑣,危機四伏,但是XML使用環(huán)境還不成熟,所以推出了一個過度的產(chǎn)品就是XHTML,它起著呈上起下的作用。也有人認為XHTML是HTML的一個升級版本,其實也是正確的,我的理解是XHTML把HTML做得更加規(guī)范的一個標記語言,使HTML變得功能強大,減少了代碼的煩瑣尤其是表格。 XHTML是在2000年1月26日被國際標準組織機構W3C(World Wide web Consortium)定為一個標準的,認為是HTML的一個最新版本,并且將逐漸替換HTML?,F(xiàn)在所有的瀏覽器都支持XHTML,XHTML兼容 HTML 4.0。也有人認為XHTML就是HTML4.01。如果你在學習過程中自己編寫了一個符合標準的站,你可以通過W3C的驗證,驗證通過后你將會得到一個標志,通常是XHTML1.0認證和CSS驗證。我也不清楚目前國內(nèi)有多少個網(wǎng)站同時通過了這兩個驗證。大家可以去http://www.w3.org/這個站點去驗證你的站,如果符合那兩個規(guī)則則會分別給我們兩段代碼加到你的網(wǎng)頁上向別人展示說明你采用了標準建站啊,牛??!
為什么我們使用XHTML XHTML是HTML升級為XML的過度產(chǎn)品,被定為一個標準,XHTML完全兼容HTML4.01,并且具有XML的語法。下面我們來看一個含有錯誤代碼的HTML,如下: html> head> title>This is bad HTML/title> body> h1>Bad HTML /body> 雖然含有錯誤代碼,但是當我們在瀏覽器中瀏覽時還能正常顯示。XML是一個標記語言,但是它要求在網(wǎng)頁中出現(xiàn)的任何元素都應該被標記出來,XML是用來描述網(wǎng)頁中的數(shù)據(jù)的,而HTML用來顯示網(wǎng)頁中的元素的。目前我們上網(wǎng)使用的各種瀏覽器技術,包括手提電腦、手機上網(wǎng)瀏覽等等,都要求瀏覽的一些內(nèi)容都要被正確標記,如果有錯誤的標記可能會使顯示特別混亂、甚至不能正常顯示。 因此聯(lián)合 HTML 和XML , 還有其他的一些技術,我們得到了一種現(xiàn)在有用的而且在將來也有用的語言 - XHTML。 當在將來都規(guī)范的時候我們就要用的 XHTML 正確格式的標記了,使所有的瀏覽器都能正確的執(zhí)行,所以我們現(xiàn)在有必要開始學習XHTML了。
XHTML和HTML之間的區(qū)別: XHTML是一項新技術,在瀏覽器和一些其他的軟件都支持它之前,我們應該有必要熟悉一下這項技術。為了我們更好的學習XHTML之前我們應該熟悉一下HTML4.0,我們可以去下載一個參考手冊來熟悉一下。以便于我們學起XHTML來更簡單,換句話說我們現(xiàn)在使用HTML編寫代碼時應該盡力少寫錯誤代碼,如:都要使用小寫的字符來編寫HTML,每個標記之后都要加上標記的結束如:p>網(wǎng)頁教學網(wǎng)歡迎您的光臨/p> 結束一定要有,我們要保持這種規(guī)則。 它們之間最大的區(qū)別在于: 1.XHTML 元素一定要被正確的嵌套使用。 在HTML里一些元素可以不正確嵌套也能正常顯示,如: b>i>This text is bold and italic/b>/i> 而在XHTML必須要正確嵌套之后才能正常使用,如: b>i>This text is bold and italic/i>/b> 注意:這個錯誤通常發(fā)生在當嵌套多層之后的標簽里面。如: ul> li>Coffee/li> li>Tea ul> li>Black tea/li> li>Green tea/li> /ul> li>Milk/li> /ul> 正確的應該是: ul> li>Coffee/li> li>Tea ul> li>Black tea/li> li>Green tea/li> /ul> /li> li>Milk/li> /ul> 觀察上述的兩段代碼我們可以看到正確的里面我們在 /ul>之后插入 /li> 標簽。 XHTML 文件一定要有正確的組織格式。 所有的XHTML應該正確的被嵌套在以html>開始以/html>結束的元素里面,其他的元素可以有子元素,并且子元素也要被正確的嵌套在他們的父元素內(nèi)。如: html> head> ... /head> body> ... /body> /html> 標簽名字一定要用小寫字母。 因為 XHTML文檔是XML應用程序, XML 對大小寫是敏感的。象 br> 和 BR> 是兩個不同的標記。如錯誤代碼: BODY> P>This is a paragraph/P> /BODY> 正確格式為: body> p>This is a paragraph/p> /body> 所有的 XHTML 元素一定要關閉 不能有沒有關閉的空的元素存在我們的代碼中,其實對于這點我們是比較好結束的,有開始就應該有結束嗎?例如錯誤代碼: p>This is a paragraph p>This is another paragraph 正確的為: p>This is a paragraph/p> p>This is another paragraph/p> 獨立的一個標簽我們也要結束用 />來結束。 例如:錯誤代碼 This is a breakbr> Here comes a horizontal rule:hr> Here's an image img src="happy.gif" alt="Happy face"> 正確代碼: This is a breakbr /> Here comes a horizontal rule:hr /> Here's an image img src="happy.gif" alt="Happy face" /> 通過上面的幾個例子我們基本上看出了HTML和XHTML之間的不同,那么我們應該從現(xiàn)在起應該試著改變我們現(xiàn)在的HTML,例如都使用小寫的標記、在標記之后加上結束標記的符號 />。
XHTML DTD定義文檔的類型?! ?BR>在XHTML中我們必須聲明文檔的類型,以便于瀏覽器知道你的文檔是什么類型的,而且聲明部分要加在文檔的head之前。如: !DOCTYPE Doctype goes here> html xmlns="http://www.w3.org/1999/xhtml"> head> title>Title goes here/title> /head>body> Body text goes here /body>/html> 注:DOCTYPE聲明不是 XHTML 文檔的一部分,它也不是文檔的一個元素,所以我們沒必要加上結束標簽。 注:XHTML屬性都是在html>標簽里面。然而當我們在w3.org驗證時,并不解釋我們的文檔有沒有聲明類型。這是因為"xmlns=http://www.w3.org/1999/xhtml"是一個固定的值,如果你沒聲明的話,它也會被自動的加到html>標簽前。 我們使用DOCTYPE時的基本機構: !DOCTYPE ...> html> head> title>... /title> /head> body> ... /body> /html> DOCTYPE是document type(文檔類型)的簡寫,用來說明你用的XHTML或者HTML是什么版本。 其中的DTD(例如xhtml1-transitional.dtd)叫文檔類型定義,里面包含了文檔的規(guī)則,瀏覽器就根據(jù)你定義的DTD來解釋你頁面的標識,并展現(xiàn)出來。 要建立符合標準的網(wǎng)頁,DOCTYPE聲明是必不可少的關鍵組成部分;除非你的XHTML確定了一個正確的DOCTYPE,否則你的標識和CSS都不會生效。
XHTML 1.0 提供了三種DTD聲明可供選擇:
過渡的(Transitional):要求非常寬松的DTD,它允許你繼續(xù)使用HTML4.01的標識(但是要符合xhtml的寫法)。完整代碼如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 嚴格的(Strict):要求嚴格的DTD,你不能使用任何表現(xiàn)層的標識和屬性,完整代碼如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 框架的(Frameset):專門針對框架頁面設計使用的DTD,如果你的頁面中包含有框架,需要采用這種DTD。完整代碼如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
如何轉換現(xiàn)有的結構為XHTML 我們選擇什么樣的DOCTYPE?理想情況當然是嚴格的DTD,但對于我們大多數(shù)剛接觸web標準的設計師來說,過渡的DTD(XHTML 1.0 Transitional)是目前理想選擇(包括本站,使用的也是過渡型DTD)。因為這種DTD還允許我們使用表現(xiàn)層的標識、元素和屬性,也比較容易通過W3C的代碼校驗。 我們從現(xiàn)在的HTML轉換為XHTML注意以下幾點: 一、在每個頁面的首部都加上文檔類型的說明。如: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">當然可以選擇其他類型的。 二、標記和name 要都用小寫?! ?BR>三、所有的屬性值都要用引號引起來。 四、單獨的標簽,如: hr> , br> and img>,都要在后面加/來結束。 在這里不建議使用諸如:img>和/img>形式的方式,直接在其后面加/就可以了,如br />。 五、通過W3C 驗證。進入W3C DTD 的官方網(wǎng)站:http://validator.w3.org/check/referer,驗證時會顯示錯誤。也可以用官方網(wǎng)站提供的工具tidy來實現(xiàn)轉換:http://www.w3.org/People/Raggett/tidy/