1.避免將頁面聲明為XML類型,頁面使用UTF-8或者UTF-16字符集。
2.在空元素標簽(不能用來包含內容的標簽)結束符>前加上斜槓 /,如:<br />,<hr />等等。
3.當一個非空元素(此標簽是用來包含內容的,如標題,段落)內容為空時,給它一個空白字符,而不要使用像空元素那樣的結束方法,如:當一個沒有內容的P標簽請書寫:<p> </p>而不要寫成<p />。
4.當你的style和scripts內容中出現 <, &, ]]>或者兩個連續的橫槓 --時,請使用外部文件進行引入。
5.避免在元素屬性值中出現斷行或者多個空格。
6.不要在文檔的head部分包含一個以上的isindex元素(最好不使用),此元素不推薦使用。
isindex:使浏覽器顯示一個對話框,提示用戶輸入單行文本。
在 HTML 4 中,此元素是不推薦使用的,而推薦使用 INPUT 元素。isIndex 的 tagName 屬性將返回 input。
此元素是一個塊元素,此元素需要關閉標簽。
下面的例子使用 ISINDEX 元素提換了默認的提示:
<isindex prompt="輸入要搜索的索引關鍵字" />
7.當要給一個元素指定language時,請使用lang和xml:lang屬性,xml:lang的值優先級更高。
8.請使用id屬性當做元素標識符,避免使用name屬性,尤其在這些元素上更不贊成使用name屬性當做它們的標識符:a, applet, form, frame, iframe, img, map。
9.給頁面定義文檔字符集,給xml文檔定義字符集使用<?xml version="1.0" encoding="UTF-8"?>,給XHTML定義字符集使用<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
10.Boolean類型元素屬性值請使用該屬性名,如:checked="checked",Boolean類型元素有:compact, nowrap, ismap, declare, noshade, checked, disabled, readonly, multiple, selected, noresize, defer
11.HTML4和XML文檔對象模型指定HTML元素和屬性名返回大寫格式。XHTML中元素和屬性名返回小寫格式。
12.使用&替代屬性值中的&符號
13.在XHTML中CSS樣式標簽style及屬性名必須使用小寫;
在HTML的table中,tbody將會在解析時自動補齊,而在XML中卻不行,所以,需要自己添加上tbody元素,如果在CSS選擇符中使用到了它;
CSS對某個具有id屬性的元素進行選擇時,使用#選擇符;
CSS對某個具有class屬性的元素進行選擇時,使用.選擇符;
14.如何在解析XML文檔時使用Style元素?在HTML4和XHTML中,style元素可以用在文檔中定義樣式規則,在XML中,XML stylesheet用來定義樣式規則,為了兼容這個規則,在解析XML文檔時如果需要使用style元素,style元素需要使用id屬性作為標示符,並且,要有一個XML stylesheet引用它,如:
<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" 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中,換頁符(Formfeed character U+000C)被解析為空格,而在XHTML中,由於XML的字符定義,它變得不合法。
16注意特殊字符'(省略號,U+0027)在XML1.0中有介紹,但卻沒有出現在HTML中,使用'替換'則可在HTML4中使用。