XHTML 簡介
XHTML 是以 XML 格式編寫的 HTML。
什麼是 XHTML?
- XHTML 指的是可擴充套件超文字標記語言
- XHTML 與 HTML 4.01 幾乎是相同的
- XHTML 是更嚴格更純淨的 HTML 版本
- XHTML 是以 XML 應用的方式定義的 HTML
- XHTML 是 2001 年 1 月釋出的 W3C 推薦標準
- XHTML 得到所有主流瀏覽器的支援
為什麼使用 XHTML?
因特網上的很多頁面包含了"糟糕"的 HTML。
如果在瀏覽器中檢視,下面的 HTML 程式碼執行起來非常正常(即使它並未遵守 HTML 規則):
<html>
<head>
<meta charset="utf-8">
<title>這是一個不規範的 HTML</title>
<body>
<h1>不規範的 HTML
<p>這是一個段落
</body>
XML 是一種必須正確標記且格式良好的標記語言。
如果希望學習 XML,請閱讀我們的 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)。
您可以在入門教程的標籤參考手冊中找到完整的 XHTML 文件型別。
<html>, <head>, <title>, 和 <body> 元素也必須存在,並且必須使用 <html> 中的 xmlns 屬性為文件規定 xml 名稱空間。
下面的例子展示了帶有最少的必需標籤的 XHTML 文件:
<!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 charset="utf-8">
<title>文件標題</title>
</head>
<body>
文件內容
</body>
</html>
XHTML 元素必須合理巢狀
在 HTML 中,一些元素可以不互相巢狀,像這樣:
<b><i>粗體和斜體文字</b></i>
在 XHTML 中,所有的元素都必須互相合理地巢狀,像這樣:
<b><i>粗體和斜體文字</i></b>
XHTML 元素必須有關閉標籤
錯誤示例:
<p>這是一個段落
<p>這是另外一個段落
正確示例:
<p>這是一個段落</p>
<p>這是另外一個段落</p>
空元素必須包含關閉標籤
錯誤示例:
分行:<br>
水平線: <hr>
圖片: <img src="happy.gif" alt="Happy face">
正確示例:
分行:<br />
水平線: <hr />
圖片: <img src="happy.gif" alt="Happy face" />
XHTML 元素必須是小寫
錯誤示例:
<BODY>
<P>這是一個段落</P>
</BODY>
正確示例:
<body>
<p>這是一個段落</p>
</body>
屬性名稱必須是小寫
錯誤示例:
<table WIDTH="100%">
正確示例:
<table width="100%">
屬性值必須有引號
錯誤示例:
<table width=100%>
正確示例:
<table width="100%">
不允許屬性簡寫
錯誤示例:
<input checked>
<input readonly>
<input disabled>
<option selected>
正確示例:
<input checked="checked">
<input readonly="readonly">
<input disabled="disabled">
<option selected="selected">
如何將 HTML 轉換為 XHTML
- 新增一個 XHTML <!DOCTYPE> 到你的網頁中
- 新增 xmlns 屬性新增到每個頁面的html元素中。
- 改變所有的元素為小寫
- 關閉所有的空元素
- 修改所有的屬性名稱為小寫
- 所有屬性值新增引號