XHTML?它與 HTML的區別?如何轉換
什麼是 XHTML?XHTML 是以 XML 格式編寫的 HTML。
- XHTML 指的是可擴充套件超文字標記語言
- XHTML 與 HTML 4.01 幾乎是相同的
- XHTML 是更嚴格更純淨的 HTML 版本
- XHTML 是以 XML 應用的方式定義的 HTML
- XHTML 是 2001 年 1 月釋出的 W3C 推薦標準
- XHTML 是大小寫敏感的,標準的 XHTML 標籤應該使用小寫。
- XHTML 得到所有主流瀏覽器的支援
為什麼使用 XHTML?因特網上的很多頁面包含了"糟糕"的 HTML。如果在瀏覽器中檢視,下面的 HTML 程式碼執行起來非常正常(即使它並未遵守 HTML 規則):
1 <html>2 <head>3 <title>This is bad HTML</title>4 <body>5 <h1>Bad HTML6 <p>This is a paragraph7 </body>
XML 是一種必須正確標記且格式良好的標記語言;今日的科技界存在一些不同的瀏覽器技術。其中一些在計算機上執行,而另一些可能在行動電話或其他小型裝置上執行。小型裝置往往缺乏解釋"糟糕"的標記語言的資源和能力。所以 - 透過結合 XML 和 HTML 的長處,開發出了 XHTML。XHTML 是作為 XML 被重新設計的 HTML。
與 HTML 相比最重要的區別:
文件結構
-
XHTML DOCTYPE 是強制性的
- <html> 中的 XML namespace 屬性是強制性的
- <html>、<head>、<title> 以及 <body> 也是強制性的
元素語法
- XHTML 元素必須正確巢狀
- XHTML 元素必須始終關閉
- XHTML 元素必須小寫
- XHTML 文件必須有一個根元素
屬性語法
- XHTML 屬性必須使用小寫
- XHTML 屬性值必須用引號包圍
- XHTML 屬性最小化也是禁止的
<!DOCTYPE ....>是強制性的
XHTML 文件必須進行 XHTML 文件型別宣告(XHTML DOCTYPE declaration)。<html>, <head>, <title>, 和 <body> 元素也必須存在,並且必須使用 <html> 中的 xmlns 屬性為文件規定 xml 名稱空間。下面的例子展示了帶有最少的必需標籤的 XHTML 文件:
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 4 <html xmlns="http://www.w3.org/1999/xhtml"> 5 6 <head> 7 <title>Title of document</title> 8 </head> 9 10 <body>11 ...... 12 </body>13 14 </html>
XHTML 元素必須合理巢狀
在 HTML 中,一些元素可以不互相巢狀,像這樣:
1 <b><i>This text is bold and italic</b></i>
在 XHTML 中,所有的元素都必須互相合理地巢狀,像這樣:
1 <b><i>This text is bold and italic</i></b>
XHTML 元素必須有關閉標籤
1 錯誤示例:2 <p>This is a paragraph3 <p>This is another paragraph
1 正確示例:2 <p>This is a paragraph</p>3 <p>This is another paragraph</p>
空元素必須包含關閉標籤
1 錯誤示例:2 A break: <br>3 A horizontal rule: <hr>4 An image: <img src="happy.gif" alt="Happy face">5 正確示例:6 A break: <br />7 A horizontal rule: <hr />8 An image: <img src="happy.gif" alt="Happy face" />
XHTML 元素必須是小寫
1 錯誤示例: 2 3 <BODY> 4 <P>This is a paragraph</P> 5 </BODY> 6 正確示例: 7 8 <body> 9 <p>This is a paragraph</p>10 </body>
屬性名稱必須是小寫
1 錯誤示例:2 3 <table WIDTH="100%">4 正確示例:5 6 <table width="100%">
屬性值必須有引號
1 錯誤示例:2 <table width=100%>3 正確示例:4 <table width="100%">
不允許屬性簡寫
1 錯誤示例: 2 3 <input checked> 4 <input readonly> 5 <input disabled> 6 <option selected> 7 正確示例: 8 9 <input checked="checked">10 <input readonly="readonly">11 <input disabled="disabled">12 <option selected="selected">
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69966782/viewspace-2683899/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTML與XHTML的區別HTML
- Gson轉換與JSONObject區別JSONObject
- 塊元素和行內元素的區別與轉換
- 在JavaScript中,DOM物件與jQuery物件的區別與轉換JavaScript物件jQuery
- 前端渲染HTML與後端渲染HTML的區別前端HTML後端
- c#中Array,ArrayList 與List<T>的區別、共性與轉換C#
- HTML的行內元素與塊級元素的區別?HTML
- 強制型別轉換(int)、(int&)和(int*)的區別型別
- String.valueOf和強制型別轉換(String)的區別型別
- XHTMLHTML
- Python筆記:string,tuple,list,dictionary的區別(之二,高階用法與型別轉換)Python筆記型別
- java 基礎型別與byte[]的轉換Java型別
- HTML5有哪些儲存型別?它們之間有什麼區別?HTML型別
- 小波變換與傅立葉變換的區別
- 【python】str與json型別轉換PythonJSON型別
- 造型與強制型別轉換型別
- GO語言中string和[]byte的區別及轉換Go
- Java 檔案換行符識別與轉換Java
- Delegate如何進行型別轉換?型別
- jQuery的html()和text()區別jQueryHTML
- Mysql BLOB、BLOB與TEXT區別及效能影響、將BLOB型別轉換成VARCHAR型別MySql型別
- Session是什麼?它與Cookie有什麼區別?SessionCookie
- html中list-style-type與list-style的區別HTML
- 淺析HTML、CSS、JavaScript之間的聯絡與區別!HTMLCSSJavaScript
- python 與 Mysql 資料型別轉換PythonMySQL 資料型別
- 行內元素和塊級元素有什麼區別,如何相互轉換?
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- HTML轉換到PDF的三種方式HTML
- 三維空間變換中旋轉矩陣左乘與右乘的區別矩陣
- React事件與普通HTML事件有什麼區別React事件HTML
- interface{} 型別的轉換型別
- golang的型別轉換Golang型別
- 如何實現隱式型別轉換型別
- c++中幾種常見的型別轉換。int與string的轉換,float與string的轉換以及string和long型別之間的相互轉換。to_string函式的實現和應用。C++型別函式
- CString與LPCWSTR、LPSTR、char*、LPWSTR等型別的轉換型別
- 重拾Kotlin(10)-型別的檢查與轉換Kotlin型別
- viewflow在html和body的區別ViewHTML
- text/html和text/plain的區別HTMLAI