HTML 與 XHTML
XHTML 是 HTML 的更嚴格、更基於 XML 的版本。
什麼是 XHTML?
- XHTML 代表 EXtensible HyperText Markup Language(可擴充套件超文字標記語言)
- XHTML 是 HTML 的更嚴格、更基於 XML 的版本
- XHTML 是定義為 XML 應用程式的 HTML
- 所有主流瀏覽器都支援 XHTML
為什麼使用 XHTML?
XML 是一種標記語言,所有文件都必須正確標記(“格式良好”)。
XHTML 的開發旨在使 HTML 更具可擴充套件性和靈活性,以便與其他資料格式(如 XML)配合使用。此外,瀏覽器會忽略 HTML 頁面中的錯誤,並嘗試顯示網站,即使它在標記中存在一些錯誤。因此,XHTML 附帶了更嚴格的錯誤處理。
如果您想學習 XML,請閱讀我們的 XML 教程。
與 HTML 最重要的區別
- <!DOCTYPE> 是強制性的
- <html> 中的 xmlns 屬性是強制性的
- <html>、<head>、<title> 和 <body> 是強制性的
- 元素必須始終正確巢狀
- 元素必須始終閉合
- 元素必須始終是小寫
- 屬性名稱必須始終是小寫
- 屬性值必須始終加引號
- 屬性最小化是禁止的
XHTML - <!DOCTYPE ....> 是強制性的
XHTML 文件必須包含 XHTML <!DOCTYPE> 宣告。
<html>、<head>、<title> 和 <body> 元素也必須存在,<html> 中的 xmlns 屬性必須指定文件的 xml 名稱空間。
示例
這是一個包含最少必需標籤的 XHTML 文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>文件標題</title>
</head>
<body>
這裡是一些內容...
</body>
</html>
XHTML 元素必須正確巢狀
在 XHTML 中,元素必須始終正確巢狀,如下所示
正確
<b><i>一些文字</i></b>
錯誤
<b><i>一些文字</b></i>
XHTML 元素必須始終閉合
在 XHTML 中,元素必須始終閉合,如下所示
正確
<p>這是一個段落</p>
<p>這是另一個段落</p>
錯誤
<p>這是一個段落
<p>這是另一個段落
XHTML 空元素必須始終閉合
在 XHTML 中,空元素必須始終閉合,如下所示
正確
一個換行:<br />
一條水平線:<hr />
一張圖片:<img src="happy.gif" alt="笑臉" />
錯誤
一個換行:<br>
一條水平線:<hr>
一張圖片:<img src="happy.gif" alt="笑臉">
XHTML 元素必須是小寫
在 XHTML 中,元素名稱必須始終是小寫,如下所示
正確
<body>
<p>這是一個段落</p>
</body>
錯誤
<BODY>
<P>這是一個段落</P>
</BODY>
XHTML 屬性名稱必須是小寫
在 XHTML 中,屬性名稱必須始終是小寫,如下所示
正確
<a href="https://w3schools.tw/html/">訪問我們的 HTML 教程</a>
錯誤
<a HREF="https://w3schools.tw/html/">訪問我們的 HTML 教程</a>
XHTML 屬性值必須加引號
在 XHTML 中,屬性值必須始終加引號,如下所示
正確
<a href="https://w3schools.tw/html/">訪問我們的 HTML 教程</a>
錯誤
<a href=https://w3schools.tw/html/>訪問我們的 HTML 教程</a>
XHTML 屬性最小化是禁止的
在 XHTML 中,屬性最小化是禁止的
正確
<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />
錯誤
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />