XHTML 語法

編寫 XHTML 代碼需要純凈的 HTML 語法。

更多的 XHTML 語法規則:

  • 屬性名稱必須小寫
  • 屬性值必須加引號
  • 屬性不能簡寫
  • 用 Id 屬性代替 name 屬性
  • XHTML DTD 定義了強制使用的 HTML 元素

屬性名稱必須小寫

這是錯誤的:

<table WIDTH="100%">

這是正確的:

<table width="100%">

屬性值必須加引號

這是錯誤的:

<table width=100%>

這是正確的:

<table width="100%">

屬性不能簡寫

這是錯誤的:

<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>

這是正確的:

<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
<frame noresize="noresize" />

下面是一個 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"

用 id 屬性代替 name 屬性

HTML 4.01 針對下列元素定義 name 屬性:a, applet, frame, iframe, img, 和map。

在 XHTML 中不鼓勵使用 name 屬性,應該使用 id 取而代之。

這是錯誤的:

<img src="picture.gif" name="picture1" />

這是正確的:

<img src="picture.gif" id="picture1" />

重要的兼容性提示:

你應該在 "/" 符號前添加一個額外的空格,以使你的 XHTML 與當今的瀏覽器相兼容。

語言屬性(lang)

lang 屬性應用于幾乎所有的 XHTML 元素。它定義元素內部的內容的所用語言的類型。

如果在某元素中使用 lang 屬性,就必須添加額外的 xml:lang,像這樣:

<div lang="no" xml:lang="no">Heia Norge!</div>

強制使用的 XHTML 元素

所有 XHTML 文檔必須進行文件類型聲明(DOCTYPE declaration)。在 XHTML 文檔中必須存在html、head、body元素,而 title 元素必須位于在 head 元素中。

下面是一個最小化的 XHTML 文件模板:

<!DOCTYPE Doctype goes here>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title goes here</title>
</head>
<body>
</body>
</html>

提示:文件類型聲明并非 XHTML 文檔自身的組成部分。它并不是 XHTML 元素,也沒有關閉標簽。

提示:在 XHTML 中,<html> 標簽內的 xmlns 屬性是必需的。然而,即使當 XHTML 文檔中沒有這個屬性時,w3.org 的驗證工具也不會提示錯誤。這是因為,"xmlns=http://www.w3.org/1999/xhtml" 是一個固定的值,即使你沒有把它包含在代碼中,這個值也會被添加到 <html> 標簽中。

你會在下一章學習更多關于 XHTML 文檔類型聲明的知識。