http://tidy.sourceforge.net
Html 4.01規範: 網頁總是以一個DOCTYPE開始,緊接著,<html>元素必須出現在網頁的開頭和結尾。因此,在DOCTYPE之後,網頁的<html>標記開始,以</html>標記結束,而網頁的其他東西都包含在裡面。2、使用<head>和<body>讓你的網頁更好。 只有<head>元素和<body>元素可以直接包含於<html>元素,也就是其他任何元素都必須毫無例外地包含於<head>元素或<body>元素。3、<head>元素裡沒有<title>元素會怎麼樣? 我們總是給<head>元素一個<title>元素,這裡規則。不這麼做將導致HTML不合法。<head>元素是可以放置<title>元素,<meta>元素和<style>元素的唯一地方。4、只使用有用的塊元素填充<body> 只能在<body>元素裡直接放置塊元素(<h1>,<h2>,...,<h6>,<p>,<blockqoute>等)。所有的內嵌元素和文本都必須在塊元素中才能運行。5、讓塊元素遠離內嵌元素 只有文本和其他內嵌元素可以嵌入內嵌元素中。塊元素在任何情況下都不允許包含在內嵌元素裡。6、塊元素禁止包含在<p>元素之中 只有文本才能組成段落,所以塊元素不允許包含在<p>元素中。當然,只要你喜歡,可以在段落裡使用所有的內嵌元素(<em>,<a>,<strong>,<img>,<q>等)7、列表只能包括清單項目 只有<li>元素允許放在<ul>元素和<ol>元素裡。因此,只有清單項目才能放在有序或無續列表裡。8、清單項目可以是任何內容 對於<li>元素的規則很寬鬆:你可以添加文本、內嵌元素或塊元素到清單項目裡面。9、誰知道?<blockqoute>只喜歡塊元素 <blockqoute>元素中要有一個或多個塊元素。文本直接包含於區塊引述很常見。10、內嵌元素相互嵌套時要小心 可以將任意內聯元嵌入到另一個內嵌元素中,但有兩種情況例外。<a>元素決不能自嵌套,因為那樣使用者不易理解。另外,據規定空元素(如<img>)中不能嵌套其他內嵌元素。從Html 到XHtml 1.0轉換:(下面的帶紅色部分為從HTML 4.01到XHTML 1.0必須實現的修改,其他為HTML 4.01的標準)3、<html>標記必須是DOCTYPE之後的第一個標記,而</html>必須是文檔的最後一個標記;4、所有的元素名稱必須用小寫字母;6、所有屬性值必須非空,並且帶雙引號;7、在HTML裡不能使用&,&表示實體的開始,因此,應當用& 此外,把特殊字元轉化為實體;