2012-03-28
北京網(wǎng)站建設(shè)公司博昊天成認(rèn)為W3C驗證并不是要求你的網(wǎng)站一定要通過,但是它能告訴你你的網(wǎng)站HTML標(biāo)記語言中的錯誤。驗證器中指出的錯誤和警告是提示你的XHTML代碼還不夠完美的重要信號,雖然在不同的瀏覽器中會看起來并不太一致。下面列出了10常見的錯誤并附帶了解決辦法供開發(fā)者參考。
在文章開始之前,博昊天成先給大家?guī)讞l不錯的建議供大家實踐。
忽略警告信息。
如果做網(wǎng)站時,驗證器顯示你的頁面中有12處錯誤83處警告,那么你只需考慮其中的錯誤項目即可依次修復(fù)錯誤。
按照從下到下的順序修復(fù)其中的錯誤,因為瀏覽器在讀取HTML代碼時是按照從上到下的順序的,所以你按照兩樣的方式修復(fù)錯誤省事。
每修復(fù)一項錯誤即重新驗證一次。經(jīng)常出現(xiàn)的現(xiàn)象是前面的一個錯誤往往引起下面一系列的問題。同樣,有時候,如果方式得當(dāng)修復(fù)一個錯誤可以修復(fù)后面的好幾處錯誤。每次修改之后重新驗證可以保證你完全修復(fù)頁面中的錯誤。
上面的幾條小技巧后,讓我們看看我們的網(wǎng)站不能通過W3C驗證的10個常見原因。
1 未閉合的div標(biāo)簽
北京做網(wǎng)站公司博昊天成認(rèn)為頁面布局不能通過驗證的為常見的原因。div這種布局模式有多流行這個錯誤就有多流行。未閉合的div標(biāo)簽是布局錯誤中經(jīng)常出現(xiàn)、也是難發(fā)現(xiàn)的一個錯誤。驗證器并不總能準(zhǔn)確地指出錯誤出現(xiàn)的位置,因此發(fā)現(xiàn)這個錯誤有時候也無異于大海撈針。
2 可惡的embed標(biāo)簽
90年代初,微軟和網(wǎng)景瀏覽器開始意識到單純地文本標(biāo)簽根本不能完全實現(xiàn)標(biāo)準(zhǔn)化。但是不幸的是,雖然我們現(xiàn)在廣泛地使用embed這類的標(biāo)簽,W3C并沒有意識到他們的重要性。北京網(wǎng)站建設(shè)公司博昊天成認(rèn)為如果做網(wǎng)站確實想通過strict DOCTYPE驗證,你必須放棄使用embed標(biāo)簽。
定想用embed標(biāo)簽而又想難過驗證,你可以參照這篇flash引用方式的文章。
3 不恰當(dāng)?shù)腄OCTYPE聲明
一個錯誤是文檔中要么沒有聲明DOCTYPE,要么聲明DOCTYPE錯誤。作為一系列文檔標(biāo)準(zhǔn),Strict DOCTYPE是要求為嚴(yán)格的標(biāo)準(zhǔn)。Strict DOCTYPE意味著你的網(wǎng)頁在各種瀏覽器中顯示時都是為標(biāo)準(zhǔn)的方式。
4 尾部的斜杠問題
博昊天成認(rèn)為網(wǎng)站沒有通過難,那很可能是在你的代碼中缺少了一個斜杠(/)。其實這類錯誤是很容易發(fā)現(xiàn)的,特別是像在image標(biāo)簽中。
5 對齊方式
TYPE為Transitional的文檔中使用對齊標(biāo)簽align沒有任何問題,但是如果你在更加嚴(yán)格的模式Strict下驗證,那么你將會看到一個錯誤提示。align標(biāo)簽是標(biāo)簽語言又一個不能使用的標(biāo)簽。替代他的是在樣式表中使用float或者text-align。
6 JavaScript
理解了Strict DOCTYPE,那么你需要把你的JS代碼包含一對可換行CDATA標(biāo)簽中。這方面很多開發(fā)者已經(jīng)在使用了,比如一些廣告和跟蹤功能的JavaScript代碼需要必須寫在一行里。
7 所有的圖片都需要有alt屬性
沒有意識這點,那么圖片因素可能是妨礙你通過驗證的一個因素。除了需要上面說到的斜杠外,北京網(wǎng)站建設(shè)公司博昊天成認(rèn)為還需要加上alt來描述圖片,如 alt=”Scary vampire picture”
同樣需要這個alt標(biāo)簽來識別頁面中的圖片,所以為圖片添加alt屬性是一個好習(xí)慣。
8 未知印刷符號
也是妨礙驗證的一個重要因素。例如,使用相應(yīng)編碼來替代&符號。下面是在XHTML中采用的一些印刷符號的編碼列表。
9 錯誤的嵌套
元素中包含其他元素的情況