XHTML和HTML的差別在哪?


XTHML是以XML為基礎的HTML語言,元素和屬性沿用HTML4的規格,沒有特別的地方,但是和HTML有以下幾點的差別。

XML文件的宣告

首先必須在文件第1行宣告此文件為XML文件。version屬性定義XML的版本,encoding屬性定義符號化使用的文字碼(Default值為萬用碼UTF-8或UTF-16)。
<?xml version="1.0" encoding="Big5"?>

文檔宣告(Document Type Difinition)

不同的文檔宣告(Document Type Difinition),可以使用的元素和屬性不同。XHTML1.0的版本可以指定Transitional DTD、Frameset DTD、Strict DTD等3種。但是到XHTML1.1的版本,只保留嚴密型Strict DTD的文檔宣告。因此,建議採用嚴密型Strict DTD的文檔宣告。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

追加xmlns屬性和xml:lang屬性

html元素追加xmlns屬性設定XML的Name Space,XHTML 1.0版的Name Space為"http://www.w3.org/1999/xhtml"。加上xml:lang屬性則是設定xml的語言碼,考慮一些沒有對應xml:lang屬性的UA環境,建議也加入lang屬性的設定。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-tw" lang="zh-tw">

必須要具備終止tag

HTML的一些元素(li、p、dt、dd、tr、th、td等元素)不需要終止tag,但是較嚴密的XTHL必須要有終止tag。然而空元素(area、br、hr、img、input、meta等元素)本身就不需終止tag,加上終止tag雖然沒有問題,更簡潔的表示方法就是在開始tag的元素後面加上(/),表示終止。
<ol><li>....<li>...</ol> → <ol><li>....</li><li>...</li></ol>
<hr> →  <hr />

屬性和元素必須為小寫

HTML記述元素和屬性無論是大寫和小寫皆可以,沒有區別。嚴密XML對大小寫都有嚴格的區別,因此XMTML的屬性和元素必須是小寫
<P STYLE = "WIDTH:10PX;">屬性和元素必須是小寫才可被XHTML接受</P>

屬性值必須要使用雙引號將之包納起來

HTML的屬性值除了含有(.)、(:)、(_)、(-)等一些符號,不用使用引號括弧起來。但是,XHTML所有的屬性值都必須用使用單引號('')或雙引號("")括弧起來,一般習慣使用雙引號("")。
<p style = "width:10px;">屬性值必須使用引號括弧起來</P>

屬性值不能為空省略

HTML的一部份的屬性值沒有屬性值(checked、selected、nowrap、disabled、noresize等屬性),但是XHTML必須要有屬性值,其屬性值和屬性名稱相同。
<input type = "radio" checked = "checked" />
<option value = "F" selected= "selected" >F</option>

id屬性取代name屬性

HTML的一部份的元素(a、applet、frame、form、iframe、frame、map、img等元素)可以使用name屬性,但是XHTML1.0不採用name屬性,將由id屬性取代。
<h3 id = "top">XHTML和HTML</h3>
...
<a href="#top">回top</a>

script元素和style元素的對應

在HTML4.0的規格,為了沒有對應script元素和style元素的UA環境,使用comment宣告<!-- -->跳脫不顯示script和style的內容。XTML則是使用CDATA(Character DATA)section<![CDATA[ ]>,使其變成不會去解析的文字資料。但是目前沒有對應CDATA的環境還很多,因此將script元素和style元素的內容做成外部檔案(例如*.js、*.css檔),從文件中呼叫這些外部檔案的方式,就能夠解決。
<link rel="stylesheet" type="text/css" href="https://google.com/webgolds/stylesheets/xx.css"/>
<script type="text/javascript" src="javascript/xx.js"></script>

元素包含內容的限制

在XHTML的部分元素(a、button、form、label、pre等)包含內容有限制,詳細請參照各元素的說明。元素包法必須注意不可有以下情況:
<h3>XHTML的限制<p>錯誤的用法</h3></p>

回上一頁

相關文章:

喜歡這篇文章嗎?立即分享

Posted : / Views: 831