在為大家介紹完如何在XHTML中正確地使用JavaScript和CSS之后,W3CGroup繼續(xù)為大家?guī)?lái)XHTML與HTML兼容的16條指引!
1.避免將頁(yè)面聲明為XML類型,頁(yè)面使用UTF-8或者UTF-16字符集。
2.在空元素標(biāo)簽(不能用來(lái)包含內(nèi)容的標(biāo)簽)結(jié)束符>前加上斜杠 /,如:<br />,<hr />等等。
3.當(dāng)一個(gè)非空元素(此標(biāo)簽是用來(lái)包含內(nèi)容的,如標(biāo)題,段落)內(nèi)容為空時(shí),給它一個(gè)空白字符,而不要使用像空元素那樣的結(jié)束方法,如:當(dāng)一個(gè)沒(méi)有內(nèi)容的P標(biāo)簽請(qǐng)書寫:<p> </p>而不要寫成<p />。
4.當(dāng)你的style和scripts內(nèi)容中出現(xiàn) <, &, ]]>或者兩個(gè)連續(xù)的橫杠 --時(shí),請(qǐng)使用外部文件進(jìn)行引入。
5.避免在元素屬性值中出現(xiàn)斷行或者多個(gè)空格。
6.不要在文檔的head部分包含一個(gè)以上的isindex元素(最好不使用),此元素不推薦使用。
isindex:使瀏覽器顯示一個(gè)對(duì)話框,提示用戶輸入單行文本。
在 HTML 4 中,此元素是不推薦使用的,而推薦使用 INPUT 元素。isIndex 的 tagName 屬性將返回 input。
此元素是一個(gè)塊元素,此元素需要關(guān)閉標(biāo)簽。
下面的例子使用 ISINDEX 元素提換了默認(rèn)的提示:
<isindex prompt="輸入要搜索的索引關(guān)鍵字" />
7.當(dāng)要給一個(gè)元素指定language時(shí),請(qǐng)使用lang和xml:lang屬性,xml:lang的值優(yōu)先級(jí)更高。
8.請(qǐng)使用id屬性當(dāng)做元素標(biāo)識(shí)符,避免使用name屬性,尤其在這些元素上更不贊成使用name屬性當(dāng)做它們的標(biāo)識(shí)符:a, applet, form, frame, iframe, img, map。
9.給頁(yè)面定義文檔字符集,給xml文檔定義字符集使用<?xml version="1.0" encoding="UTF-8"?>,給XHTML定義字符集使用<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
10.Boolean類型元素屬性值請(qǐng)使用該屬性名,如:checked="checked",Boolean類型元素有:compact, nowrap, ismap, declare, noshade, checked, disabled, readonly, multiple, selected, noresize, defer
11.HTML4和XML文檔對(duì)象模型指定HTML元素和屬性名返回大寫格式。XHTML中元素和屬性名返回小寫格式。
12.使用&替代屬性值中的&符號(hào)
13.在XHTML中CSS樣式標(biāo)簽style及屬性名必須使用小寫;
在HTML的table中,tbody將會(huì)在解析時(shí)自動(dòng)補(bǔ)齊,而在XML中卻不行,所以,需要自己添加上tbody元素,如果在CSS選擇符中使用到了它;
CSS對(duì)某個(gè)具有id屬性的元素進(jìn)行選擇時(shí),使用#選擇符;
CSS對(duì)某個(gè)具有class屬性的元素進(jìn)行選擇時(shí),使用.選擇符;
14.如何在解析XML文檔時(shí)使用Style元素?在HTML4和XHTML中,style元素可以用在文檔中定義樣式規(guī)則,在XML中,XML stylesheet用來(lái)定義樣式規(guī)則,為了兼容這個(gè)規(guī)則,在解析XML文檔時(shí)如果需要使用style元素,style元素需要使用id屬性作為標(biāo)示符,并且,要有一個(gè)XML stylesheet引用它,如:
<?xml-stylesheet type="text/css"?>
<?xml-stylesheet href="#internalStyle" type="text/css"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>An internal stylesheet example</title>
<style type="text/css" id="internalStyle">
code {
color: green;
font-family: monospace;
font-weight: bold;
}
</style>
</head>
<body>
<p>
W3CGroup為大家介紹16條兼容XHTML與HTML的指引!
<code>http://www.w3cgroup.com/article.asp?id=252</code>.
</p>
</body>
</html>
15.需要注意HTML和XML中的空白字符。有些在HTML文檔中合法的字符,到了XML里可能就不合法了,如,在HTML中,換頁(yè)符(Formfeed character U+000C)被解析為空格,而在XHTML中,由于XML的字符定義,它變得不合法。
16注意特殊字符'(省略號(hào),U+0027)在XML1.0中有介紹,但卻沒(méi)有出現(xiàn)在HTML中,使用'替換'則可在HTML4中使用。