1造成背景
可擴展
超文本標記語言。HTML是一種基本的WEB
網頁設計語言,XHTML是一個基於
可擴展標記語言的
標記語言,看起來與HTML有些相象,只有一些小的但重要的區別,XHTML就是一個扮演着相似HTML的角色的
可擴展標記語言(XML),因此,本質上說,XHTML是一個過渡技術,結合了部分XML的強大功能及大多數HTML的簡單特性。
2000年末,國際
W3C組織(
萬維網聯盟)組織公佈發行了XHTML 1.0版本。XHTML 1.0是一種在HTML 4.0基礎上優化和改進的的新語言,目的是基於
XML應用。XHTML是一種加強了的HTML,XHTML 是更嚴謹更純淨的 HTML 版本。它的可擴展性和靈活性將適應將來網絡應用更多的需求。XML雖然
數據轉換能 力強大,徹底能夠替代HTML,但面對成千上萬已有的基於HTML語言設計的網站,直接採用XML還爲時過早。所以,在HTML4.0的基礎上,用XML 的規則對其進行擴展,獲得了XHTML。因此,創建XHTML的目的就是實現HTML向XML的過渡。國際上在網站設計中推崇的
WEB標準就是基於XHTML的應用(即一般所說的
CSS+DIV)。
概述
XHTML是當前HTML版的繼承者。HTML
語法要求比較鬆散,這樣對
網頁編寫者來講,比較方便,但對於機器來講,語言的
語法越鬆散,處理起來就越困難,對於傳統的計算機來講,還有能力兼容鬆散語法,但對於許多其餘設備,
好比手機,難度就比較大。所以產生了由
DTD定義規則,
語法要求更加嚴格的XHTML。
大部分常見的
瀏覽器均可以正確地解析XHTML,即便老一點的瀏覽器,XHTML做爲HTML的一個子集,許多也能夠解析。也就是說,幾乎全部的
網頁瀏覽器在正確解析HTML的同時,可兼容XHTML。固然,從
HTML徹底轉移到XHTML,還須要一個過程。
跟層疊式樣式表(外語縮寫:
CSS)結合後,XHTML能發揮真正的威力;這使實現樣式跟內容的分離的同時,又能有機地組合
網頁代碼,在另外的單獨文件中,還能夠混合各類XML應用,
好比
MathML、
SVG。
從
HTML到XHTML過渡的變化比較小,主要是爲了適應
XML。最大的變化在於文檔必須是良構的,全部
標籤必須閉合,也就是說開始
標籤要有相應的結束
標籤。另外,XHTML中全部的
標籤必須小寫。而按照HTML 2.0以來的傳統,不少人都是將
標籤大寫,這點二者的差別顯著。在XHTML中,全部的
參數值,包括
數字,必須用雙引號括起來(而在
SGML和HTML中,引號不是必須的,當內容只是數字、字母及其它容許的特殊字符時,能夠不用引號)。全部元素,包括空元素,
好比img、br等,也都必須閉合,實現的方式是在開始
標籤末尾加入斜扛,
好比<code><nowiki><img … /></nowiki></code> 、<code><nowiki>
</nowiki></code>。省略參數,比 如<code><nowiki><option selected></nowiki></code>,也不容許,必須 用<code><nowiki><option selected="selected"/></nowiki></code>。二者的詳細差異,可經過W3C XHTML說明]來查閱。
定義
XHTML 的目標是取代 HTML。
XHTML 與 HTML 4.01 幾乎是相同的。
XHTML 是更嚴格更純淨的 HTML 版本。
XHTML 是做爲一種 XML 應用被從新定義的 HTML。
W3C 標準
* XHTML是EXtensible HyperText Markup Language的英文縮寫,便可擴展的
超文本標記語言.
* XHTML是用來代替HTML的, 是2000年
w3c公佈發行的.
* XHTML是一種加強了的HTML,它的可擴展性和靈活性將適應將來網絡應用更多的需求.
* XHTML是基於XML的應用.
* XHTML更簡潔更嚴謹.
* XHTML也能夠說就是HTML一個升級版本.(
w3c描述它爲'HTML 4.01')
* 除此以外XHTML和HTML基本相同.
2有效文件
一個符合XHTML標準的文件便可稱爲有效. 此能夠確保XHTML文件代碼的協調, 亦能令文件的更容易被處理, 而不需確保各類瀏覽器
編譯的一致性。而W3C驗證服務則能夠驗證文件是否有效。而實際上, 不少網站開發工具(例如Dreamweaver)都支援以W3C標準驗證文件。
語法
Attribute names must be in lower case
屬性名稱必須爲小寫
This is wrong:
這是錯誤的:
<table WIDTH="100%">
This is correct:
這是正確的:
<table width="100%">
Attribute values must be quoted
屬性值使用雙引號
This is wrong:
這是錯誤的:
<table width=100%>
This is correct:
這是正確的:
<table width="100%">
Attribute minimization is forbidden
屬性簡寫是不容許的
This is wrong:
這是錯誤的:
<input checked> <input readonly> <input disabled> <option selected> <frame noresize>
This is correct:
正確的是這樣:
<input checked="checked" /> <input readonly="readonly" /> <input disabled="disabled" /> <option selected="selected" /> <frame noresize="noresize" />
The id attribute replaces the name attribute
用id屬性來替代name屬性
This is wrong:
這是錯誤的:
<img src="picture.gif" name="picture1" />
This is correct:
這是正確的:
<img src="picture.gif" id="picture1" />
注意:爲了版本比較低的瀏覽器,你應該同時使用name和id屬性,並使它們兩個的值相同的,像這樣:
<img src="picture.gif" id="picture1" name="picture1" />
這是在HTML中簡寫的屬性和其在XHTML中應該怎樣書寫的列表:
HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"
與HTML對比
1.全部的標記都必需要有一個相應的結束標記
之前在HTML中,你能夠打開許多
標籤,例如和<li>而不必定寫對應的和</li>來關閉它們。但在XHTML中這是不合法的。XHTML要求有嚴謹的結構,全部
標籤必須關閉。若是是單獨不成對的
標籤,在標籤最後加一個"/"來關閉它。例如:
<img height="80" alt="網頁設計師" src="../images/logo_
w3cn_200x80.gif" width="200" />
2.全部
標籤的元素和屬性的名字都必須使用小寫
與HTML不同,XHTML對大小寫是敏感的,<title>和<TITLE>是不一樣的
標籤。XHTML要求全部的
標籤和屬性的名字都必須使用小寫。例如:<BODY>必須寫成<body> 。大小寫夾雜也是不被承認的,一般dreamweaver自動生成的屬性名字"onMouseOver"也必須修改爲"onmouseover"。
3.全部的XML標記都必須合理
嵌套
一樣由於XHTML要求有嚴謹的結構,所以全部的嵌套都必須按順序,之前咱們這樣寫的代碼:
<p><b></p></b>
必須修改成:<p><b></b></p>
就是說,一層一層的嵌套必須是嚴格對稱。
4.全部的屬性必須用引號""括起來
在HTML中,你能夠不須要給屬性值加引號,可是在XHTML中,它們必須被加引號。例如:
<height=80>
必須修改成:
<height="80">
特殊狀況,你須要在屬性值裏使用雙引號,你能夠用",單引號可使用',例如:
<alt="say'hello'">
5.把全部<和&特殊符號用編碼表示
任何小於號(<),不是
標籤的一部分,都必須被編碼爲& l t ;
任何大於號(>),不是
標籤的一部分,都必須被編碼爲& g t ;
任何與號(&),不是實體的一部分的,都必須被編碼爲& a m p;
注:以上字符之間無空格。
6.給全部
屬性賦一個值
XHTML規定全部屬性都必須有一個值,沒有值的就重複自己。例如:
<input type="checkbox" name="shirt" value="medium" checked>
必須修改成:
<input type="checkbox" name="shirt" value="medium" checked="checked">
7.不要在註釋內容中使「--」
「--」只能發生在XHTML註釋的開頭和結束,也就是說,在內容中它們再也不有效。例以下面的代碼是無效的:
<!--這裏是註釋-----------這裏是註釋-->
用等號或者空格替換內部的虛線。
<!--這裏是註釋============這裏是註釋-->
以上這些規範有的看上去比較奇怪,但這一切都是爲了使咱們的代碼有一個統1、惟一的標準,便於之後的數據再利用。
8.圖片必須有說明文字
每一個圖片
標籤都必須有ALT說明文字。
<img src="ball.jpg" alt="large red ball" title="large red ball"/> //爲了兼容
火狐和IE瀏覽器,對於圖片
標籤,儘可能採用 alt和title雙標籤,單純的alt標籤在火狐下沒有圖片說明!
3現行規範
1. XHTML 1.0 Transitional - 過渡型,標識
語法要求較寬鬆
<
!DOCTYPE
htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.<CITE class=highlight highlight="true"> </CITE>/TR/xhtml1/DTD/xhtml1-transitional.dtd">
要求很是寬鬆的DTD,它容許你繼續使用HTML4.01的標識(可是要符合x
html的寫法)。
2. XHTML 1.0 Strict - 嚴格型,標識要求達到以上XHTML相比於HTML的全部改動
<!DOCTYPE
htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www./TR/xhtml1/DTD/xhtml1-strict.dtd">
要求嚴格的
DTD,你不能使用任何表現層的標識和屬性,例如
。
3. XHTML 1.0 Frameset -
框架集定義
<!DOCTYPE
htmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.<CITE class=highlight highlight="true"></CITE>/TR/xhtml1/DTD/xhtml1-frameset.dtd">
專門針對
框架頁面設計使用的DTD,若是你的頁面中包含有框架,須要採用這種DTD
4. XHTML 1.1 - 模塊化的XHTML
5. XHTML 2.0 - 徹底模塊化可定製化的XHTML,正在開發中,參考http://<CITE class="highlight" highlight="true"></CITE>/
4W3C釋義
W3C是英文 World Wide Web Consortium 的縮寫,中文意思是W3C理事會或
萬維網聯盟。W3C於1994年10月在
麻省理工學院計算機科學實驗室成立。建立者是萬維網的發明者
Tim Berners-Lee。
W3C組織是對網絡標準制定的一個非贏利組織,像HTML、XHTML、CSS、XML的標準就是由W3C來定製。W3C會員(大約500名會員)包括生產技術產品及服務的廠商、內容供應商、團體用戶、研究實驗室、標準制定機構和政府部門,一塊兒
協同工做,致力在萬維網發展方向上達成共識。