本文章是一位網友在進行網站更新與調整時,進行W3C XHTML1.0驗證的時候的一些經驗。
總結出通過W3C XHTML1.0標准需要注意的九個問題:
一、在 <div class=tzh>I am TZH!</div> 這段語句中有什麼錯誤?
標點符號問題。這其實也是大家最容易忽視的問題,其實就是小小的兩個引號,就造成了這個錯誤。雖然很多浏覽器在不加引號的情況下仍然能正確識別渲染。但是這樣想要通過嚴格的W3C XHTML國際標准是不可能的,請大家記住等號後面一定要接引號。正確寫法:<div class="tzh">I am TZH!</div>
二、在 <SPAN class="tzh">TZH is me!</SPAN> 這段語句中有什麼錯誤?
大小寫注意。這和第一個問題一樣,都是特別容易忽視的細節問題。在W3C標准中是絕對不允許大寫的,其中我仍記得我在檢測一段javascript代碼的時候,由於為了讓自己一目了然寫出的onLoad也被判斷成了錯誤,原因就是L不能大寫。正確寫法:<span class="tzh">TZH is me!</span>
三、在 <p>I am TZH!</p><br><p>TZH is me!</p> 這段語句中有什麼錯誤?
<br />標簽問題。對於強制換行標簽<br />來說,很多新手都分不清它和<br>的區別,甚至在FCKeditor編輯器中有時都會時不時冒出個<br>來充當<br />。雖然同樣很多浏覽器都能自動糾錯,將<br>作為<br />識別。但最好的編輯方法還是推薦大家使用Dreamweaver進行編輯,當你按下Ctrl+Enter,就會自動寫上一個<br />。正確寫法: <p>I am TZH!</p><br /><p>TZH is me!</p>
四、 <h1>~tangzhehao~hey~</h1> 這段語句中有什麼錯誤?
注意標簽結束後面接的標點符號,很多標簽結束後都不能接特殊標點符號,比如這裡的"~"波浪號,但你要問,那叫我怎麼用呢?那就使用ISO Latin-1字符集(ISO Latin-1 Character Set),在這裡,查找到“~”波浪號相對應的字符集十進制編碼是~,然後就用這個十進制編碼代替~波浪號,記住最後的分號不能丟。在ISO Latin-1字符集中以已命名實體(Named entity)最優先,十進制編碼(Decimal code)其次,也就是說,一個符號在同時有十進制編碼和已命名實體的時候,優先選用已命名實體而不使用十進制編碼。
五、在 <form id="54tzh"></form> 這段語句中有什麼錯誤?
注意id和class特殊情況。W3C XHTML1.0 標准中規定,在id或class中,第一個字符是不能是數字的,必須是字母。正確寫法:<form id="tzh45"></form>
六、在 <img src="logo.gif"> 這段語句中有什麼錯誤?
<img>標簽注意。W3C XHTML1.0 標准中規定,在<img>標簽中,必須包括alt元素。正確寫法:<img alt="Logo" src="logo.gif">
七、在<script language="JavaScript"> 這段語句中有什麼錯誤?
<script>標簽注意。W3C XHTML1.0 標准中規定,在<img>標簽中,必須包括type元素。正確寫法:<script language="JavaScript" type=text/javascript>
八、在<div><h1>I am TZH!</div></h1> 這段語句中有什麼錯誤?
注意標簽開始結束順序對應。正確寫法:<div><h1>I am TZH!</h1></div>
九、除了上面的之外,還需要注意哪些問題?
注意特殊套裝。比如:<dl><dd><ul><li>等一些特殊標簽,套裝順序中缺一不可。必須按照順序將<dl><dd><ul><li>四個標簽寫完全。類似的還有許多。
注意未打開標簽。所謂未打開來自於W3C檢測,這類錯誤顯示的錯誤是 is not open,翻譯過來也就是未打開的意思。如果按照中文的意思來理解就是有首無尾或者有尾無首。通常這種錯誤出現的原因都是因為有一段代碼在修改的時候被刪除,而沒有顧及到相對較遠的結束或者開始標簽。
總結出關於W3C CSS標准的一些經驗:
一、少用偏門。類似break-word斷行,z-index手動分層,還有像垂直對齊等等這些偏門CSS最好少用,因為不一定所有浏覽器都支持,而且極難通過W3C檢測。
二、center不是float的值。很多新手都會把center誤認為是float的值,而偏偏不是如此。center只是text-align的值。
三、對齊不能包括兩個值。很多新手會在float或者text-align中填寫兩個值,比如:float:left top。這是不允許的,浏覽器也無法識別。
四、滾動條顏色最好不要自定義。很多浏覽器不能正常識別自定義顏色的滾動條,況且很多自定義顏色都不能通過W3C。
五、單獨滾動條設置。現在經常使用overflow-x(橫向滾動條)或者overflow-y(縱向滾動條),在設置這個的時候經常會發現並不是所有的客戶端上都有效果,大家在設置的時候最好在body和html同時進行設置。然而這個CSS也不是CSS2.1支持的(CSS2.1支持overflow,同時定義橫縱滾動條),直到CSS3才支持這種定義方式。盡量少用。
六、background和color顏色相同會受到警告。關於更多的知識,您可以參考52CSS.com的相關文章。