XHTML 語(yǔ)法
編寫(xiě) XHTML 代碼需要純凈的 HTML 語(yǔ)法。
更多的 XHTML 語(yǔ)法規(guī)則:
- 屬性名稱(chēng)必須小寫(xiě)
- 屬性值必須加引號(hào)
- 屬性不能簡(jiǎn)寫(xiě)
- 用 Id 屬性代替 name 屬性
- XHTML DTD 定義了強(qiáng)制使用的 HTML 元素
屬性名稱(chēng)必須小寫(xiě)
這是錯(cuò)誤的:
<table WIDTH
="100%">
這是正確的:
<table width
="100%">
屬性值必須加引號(hào)
這是錯(cuò)誤的:
<table width=100%
>
這是正確的:
<table width="100%"
>
屬性不能簡(jiǎn)寫(xiě)
這是錯(cuò)誤的:
<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" />
下面是一個(gè) HTML 的簡(jiǎn)寫(xiě)屬性列表,以及在 XHTML 中的改寫(xiě):
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 針對(duì)下列元素定義 name 屬性:a, applet, frame, iframe, img, 和map。
在 XHTML 中不鼓勵(lì)使用 name 屬性,應(yīng)該使用 id 取而代之。
這是錯(cuò)誤的:
<img src="picture.gif" name
="picture1" />
這是正確的:
<img src="picture.gif" id
="picture1" />
重要的兼容性提示:
你應(yīng)該在 "/" 符號(hào)前添加一個(gè)額外的空格,以使你的 XHTML 與當(dāng)今的瀏覽器相兼容。
語(yǔ)言屬性(lang)
lang 屬性應(yīng)用于幾乎所有的 XHTML 元素。它定義元素內(nèi)部的內(nèi)容的所用語(yǔ)言的類(lèi)型。
如果在某元素中使用 lang 屬性,就必須添加額外的 xml:lang,像這樣:
<div lang="no" xml:lang="no"
>Heia Norge!</div>
強(qiáng)制使用的 XHTML 元素
所有 XHTML 文檔必須進(jìn)行文件類(lèi)型聲明(DOCTYPE declaration)。在 XHTML 文檔中必須存在html、head、body元素,而 title 元素必須位于在 head 元素中。
下面是一個(gè)最小化的 XHTML 文件模板:
<!DOCTYPE Doctype goes here>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title goes here</title>
</head>
<body>
</body>
</html>
提示:文件類(lèi)型聲明并非 XHTML 文檔自身的組成部分。它并不是 XHTML 元素,也沒(méi)有關(guān)閉標(biāo)簽。
提示:在 XHTML 中,<html> 標(biāo)簽內(nèi)的 xmlns 屬性是必需的。然而,即使當(dāng) XHTML 文檔中沒(méi)有這個(gè)屬性時(shí),w3.org 的驗(yàn)證工具也不會(huì)提示錯(cuò)誤。這是因?yàn)椋?quot;xmlns=http://www.w3.org/1999/xhtml" 是一個(gè)固定的值,即使你沒(méi)有把它包含在代碼中,這個(gè)值也會(huì)被添加到 <html> 標(biāo)簽中。
你會(huì)在下一章學(xué)習(xí)更多關(guān)于 XHTML 文檔類(lèi)型聲明的知識(shí)。