W3C validation有時很難操作,但用它你可以查看由版面設計引起的差錯。驗證程式拋出大量錯誤和警告,說明你的XHTML尚未完善,可能無法在不同瀏覽器上保持一致功能。下面十個細微的失效問題難住了大批程式設計師,我們告訴你如何解決。在本文開始前介紹一些使用W3C驗證程序時需要注意的問題。
不要擔心驗證程序的警告——如果驗證程序說發現12處錯誤以及83處警告,不要理它,繼續進行下一步。
一次更正一個錯誤-依序進展工作,從上到下,一次修正一個錯誤。 HTML用瀏覽器從上往下瀏覽,這些錯誤也是以相同順序顯示。
每次修正程式碼後要刷新程式碼,使它們重新生效——一個小錯誤常常會引發之後整頁的連串錯誤。因此如果操作不當,「修正錯誤」也可能引發更多錯誤。每次修正後使程式碼重新生效,這樣就可以確保完全解決問題。
知道了上面這些基本的異常情況,下面我們就來看看版面設計無效的幾個原因。
1、div 標籤未關閉這是版面設計失效的最常見原因之一。當我們了解到這是多少精緻的版塊設計失效的罪魁禍首時,總是會大吃一驚。調查顯示,開啟的div標籤是最普遍的版塊設計失誤之一,也是最難診斷的失誤之一。驗證程式有時會指向錯誤的開啟div標籤,診斷時就像大海撈針一樣麻煩。
2.麻煩的embed標籤在九十年代早期,Microsoft和Netscape的瀏覽器開始能夠辨識非標準的獨有字體。遺憾的是這意味著W3C驗證程序還不能識別某些關鍵HTML 標籤,例如“embed”,即使這些標籤已經被廣泛使用。如果確實希望得到嚴格的DOCTYPE(文件類型)驗證,就只能放棄巢狀。
如果同時想要生效的版面設計和嵌入式媒體,可以試試Flash Satay方法。
3.不當的DOCTYPE聲明不聲明DOCTYPE,或在文件開始錯誤聲明DOCTYPE,也是一個常見錯誤。根據一般經驗,Strict DOCTYPE是大家追求的最高級驗證。 Strict validation表明你的網頁能夠在所有瀏覽器上都得到最佳展示。 Strict 聲明程式碼如下:
4.結尾斜線如果你的網站不能驗證,很有可能是在程式碼的某個地方漏寫了結尾斜線。我們很容易忽略結尾斜線之類的東西,特別是在image標籤等元素中。例如:
在嚴格的DOCTYPE中這是無效的。若要在img標籤結尾處加上“/”以解決此問題。
5.Align標籤如果DOCTYPE被設為Transitional,你就會使用「align」標籤,但如果要求更高一點希望得到Strict驗證,你會看到很多錯誤。 Align是另一個無法用於版面設計的標籤。可以嘗試用“float”或“text-align”來代替align轉換元素。
6、JavaScript
如果已經聲明Strict DOCTYPE,就需要在JavaScript中覆寫CDATA標籤。驗證程式的這一方面難倒了許多程式設計師,因為網站傾向於為廣告和追蹤腳本使用嵌入的JavaScript。如果必須使用到JavaScript,可以在其前後加上以下標籤:
7.影像需要「alt」屬性你可能還沒注意到,影像也是高階驗證的潛在絆腳石。除了結尾斜線,進階驗證也要求用alt標籤來描述圖像,如alt= ”Scary vampire picture」。
搜尋引擎也靠alt標籤來辨識網頁上的圖像,所以不管怎樣加上alt標籤總是好的。
8.未知實體資料實體資料是另一個影響驗證的易犯錯誤。我們可以考慮用適當的編碼字元來取代“&”等符號。 entire list中列出XHTML版塊設計中可用的適當的編碼字元實體資料。
9.不良嵌套嵌套就是元素裡又包括元素Sweet!
我們容易混淆嵌套元素的順序。例如在div標籤前啟動strong標籤,但又先關閉div標籤。這可能不會改變版塊佈局,但卻會使你的版塊設計失效。
10.缺少「title」標籤儘管這看起來是一個很明顯的錯誤,很多程式設計師(包括我自己)還是經常會在「head」版塊中遺漏title標籤。當你看到「missing a required sub-element of HEAD」(缺少HEAD的必要子元素)時,才會發現自己忘了加上title標籤。