10個常見W3C標準驗證失敗緣由分析

W3C validation有時難以操做,但用它你能夠查看由版面設計引發的差錯。驗證程序拋出大量差錯和警告,說明你的XHTML還沒有完善,可能沒法在不一樣瀏覽器上保持一致功能。下面十個細微的失效問題難住了大批程序員,咱們告訴你如何解決。在本文開始前介紹一些使用W3C驗證程序時須要注意的問題。程序員

要擔憂驗證程序的警告——若是驗證程序說發現12處錯誤以及83處警告,不要理它,繼續進行下一步。瀏覽器

一次更正一個錯誤——按順序進展工做,從上到下,一次修正一個錯誤。HTML用瀏覽器從上到下瀏覽,這些錯誤也是按一樣順序顯示。佈局

每次修正代碼後要刷新代碼,使它們從新生效——一個小錯誤經常會引起以後整頁的連串錯誤。所以若是操做不當,「修正錯誤」也可能引起更多錯誤。每次修正後使代碼從新生效,這樣就能夠確保徹底解決問題。字體

知道了上面這些基本的異常狀況,下面咱們就來看看版面設計無效的幾個緣由。網站

一、div 標籤未關閉ui

這是版面設計失效的最多見緣由之一。當咱們瞭解到這是多少精緻的版塊設計失效的罪魁禍首時,總會大吃一驚。調查顯示,開啓的div標籤是最廣泛的版塊設計失誤之一,也是最難診斷的失誤之一。驗證程序有時會指向錯誤的開啓div標籤,診斷時就像大海撈針同樣麻煩。搜索引擎

二、麻煩的embed標籤編碼

九十年代早期,Microsoft和Netscape的瀏覽器開始可以辨認非標準的獨有字體。遺憾的是這意味着W3C驗證程序還不能識別某些關鍵HTML 標籤,如「embed」,即便這些標籤已經被普遍使用。若是確實但願獲得嚴格的DOCTYPE(文檔類型)驗證,就只能放棄嵌套。設計

若是同時想要生效的版面設計和嵌入式媒體,能夠試試Flash Satay方法。blog

三、不當的DOCTYPE聲明

不聲明DOCTYPE,或者在文件開始錯誤聲明DOCTYPE,也是一個常見錯誤。根據通常經驗,Strict DOCTYPE是你們追求的最高級驗證。Strict validation代表你的網頁可以在全部瀏覽器上都獲得最佳展現。Strict 聲明代碼以下:

四、結尾斜線

若是你的網站不能驗證,頗有多是在代碼的某個地方漏寫告終尾斜線。咱們很容易忽略結尾斜線之類的東西,特別是在image標籤等元素中。例如:

在嚴格的DOCTYPE中這是無效的。要在img標籤結尾處加上「/」以解決此問題。

五、Align標籤

若是DOCTYPE被設爲Transitional,你就會使用「align」標籤,但若是要求更高一點但願獲得Strict驗證,你會看到不少錯誤。 Align是另外一個不可用於版面設計的標籤。能夠嘗試用「float」或者「text-align」來代替align轉換元素。

六、JavaScript

若是已經聲明Strict DOCTYPE,就須要在JavaScript中覆蓋CDATA標籤。驗證程序的這一方面難倒了不少程序員,由於網站傾向於爲廣告和追蹤腳本使用嵌入的 JavaScript。若是必須用到JavaScript,能夠在其先後加上以下標籤:

七、圖像須要「alt」屬性

你可能尚未注意到,圖像也是高級驗證的潛在絆腳石。除告終尾斜線,高級驗證也要求用alt標籤來描述圖像,如alt= 」Scary vampire picture」。

搜索引擎也靠alt標籤來識別網頁上的圖像,因此不管怎樣加上alt標籤老是好的。

八、未知實體數據

實體數據是又一個影響驗證的易犯錯誤。咱們能夠考慮用適當的編碼字符來代替「&」等符號。entire list中列出在XHTML版塊設計中可用的適當的編碼字符實體數據。

九、不良嵌套

嵌套就是元素裏又包括元素

Sweet!

咱們容易混淆嵌套元素的順序。例如在div標籤前啓動strong標籤,但又先關閉div標籤。這可能不會改變版塊佈局,但卻會使你的版塊設計失效。

十、缺乏「title」標籤

儘管這看上去是一個很明顯的錯誤,不少程序員(包括我本身)仍是常常會在「head」版塊中遺漏title標籤。當你看到「missing a required sub-element of HEAD」(缺乏HEAD的必要子元素)時,纔會發現本身忘記添加title標籤了。

相關文章
相關標籤/搜索