作爲網站技術開(kāi)發人員(yuán)而言,往往是站在自己的開(kāi)發角度來實 施網站布署(讀取數據及開(kāi)發的方便性等等),而不是站在網站訪問者與搜索引擎角度。因此大(dà)部分(fēn)的網站在浏覽方面不夠直觀或是方便,特别是現在w3c的規範,更是在大(dà)部分(fēn)的網站開(kāi)發人員(yuán)腦裏一(yī)片空白(bái)。何況百度 、google、msn、yahoo等專業搜索引擎更有自己的搜索規則及判斷網頁等級技術,所以網站要優化,優化的目的隻有一(yī)個:符合标準,符合蜘蛛爬行的标準,更重要的是符合網站訪問者浏覽的方便及易用性。以下(xià)文章中(zhōng),AB織夢模闆網主要通過三個方面來講述有關W3C!
什麽是W3C标準
W3C其實就是World Wide Web Consortium,全球萬維網聯盟的簡稱。W3C的主要職責就是确定未來萬維網的發展方向,并且制定相關的推薦(recommendation, 由于W3C是一(yī)個民間組織,沒有約束性,因此隻提供建議)。HTML4.01規範建議(HTML4.01 Specification Recommendation)就是由W3C所制定的。它還負責制定XML,MathML等其他網絡語言規範。
怎樣通過W3C标準的驗證?
步驟方法如下(xià):
1、圖片的alt="" 屬性必須每張圖片都加上,而且對齊屬性用CSS來定義。不加不能通過XHTML 1.0的驗證。
2、每個文檔必須加上DTD聲明。
a) !DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
去(qù)掉後能通過驗證,但有警告:No DOCTYPE found! Checking with default XHTML 1.0 Transitional Document Type.
3、RSS的XML通過時其中(zhōng)的域名地址必須與檢測的地址一(yī)緻,否則會報錯。
4、标簽的鏈接屬性加上JAVASCRIPT事件時必須爲#空鏈,不能爲javascript:;或javascript:void(null);
5、同一(yī)個頁面當中(zhōng),同名的ID會産生(shēng)沖突。所以以ID定義樣式的必須改成類引用。
<div id="a1">111</div>
<div id="a1">222</div>
如果不用W3C來檢測的話(huà),在CSS設計裏是允許這樣做的。
那是程序的角度不能相同,CSS上是可以相同的!
之前就是相同的産生(shēng)問題,後面就改成類引用了!
6、不可省略雙引号或單引号。
a) 這個是指屬性,标準是雙引号~
單引号也能通過驗證。
7、标簽之間不可錯位嵌套。
<div class="CaseDetaListSS">原文鏈接:<a href='/html/cases/cases_61.html'>官方網站</div></a>
這是不允許的。
8、所有的标簽都使用小(xiǎo)寫。
9、FLASH的标簽代碼中(zhōng)不能含有,必須采用其它的方法實現。
10、所有的标簽中(zhōng)含有的屬性必須有值(官方的說法)。
11、标簽必須配對完成,單标簽必須以/關閉
12、JS和CSS外(wài)部引入文件必須加上類型定義。
13、所有的樣式全部寫在外(wài)部文件。用類名定義。在使用的地方引用。
14、頁面上的一(yī)些特殊字符必須用HTML代碼來标識.如“&”寫成“&“
沒通過W3C 标準驗證的原因
每次修正代碼後要刷新代碼,使它們重新生(shēng)效——一(yī)個小(xiǎo)錯誤常常會引發之後整頁的連串錯誤。因此如果操作不當,“修正錯誤”也可能引發更多錯誤。每次修正後使代碼重新生(shēng)效,這樣就可以确保完全解決問題。
知(zhī)道了上面這些基本的異常情況,下(xià)面discuz模闆網就來看看版面設計無效的幾個原因。
1、div 标簽未關閉
這是版面設計失效的最常見原因之一(yī)。當我(wǒ)們了解到這是多少精緻的版塊設計失效的罪魁禍首時,總會大(dà)吃一(yī)驚。開(kāi)啓的div标簽是最普遍的版塊設計失誤之一(yī),也是最難診斷的失誤之一(yī)。驗證程序有時會指向錯誤的開(kāi)啓div标簽,診斷時就像大(dà)海撈針一(yī)樣麻煩。
2、麻煩的embed标簽
九十年代早期,Microsoft和Netscape的浏覽器開(kāi)始能夠辨認非标準的獨有字體(tǐ)。遺憾的是這意味着W3C驗證程序還不能識别某些關鍵HTML 标簽,如“embed”,即使這些标簽已經被廣泛使用。如果确實希望得到嚴格的DOCTYPE(文檔類型)驗證,就隻能放(fàng)棄嵌套。
如果同時想要生(shēng)效的版面設計和嵌入式媒體(tǐ),可以試試Flash Satay方法。
3、不當的DOCTYPE聲明
不聲明DOCTYPE,或者在文件開(kāi)始錯誤聲明DOCTYPE,也是一(yī)個常見錯誤。根據一(yī)般經驗,Strict DOCTYPE是大(dà)家追求的最高級驗證。Strict validation表明你的網頁能夠在所有浏覽器上都得到最佳展示。Strict 聲明代碼如下(xià):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4、結尾斜線
如果你的網站不能驗證,很有可能是在代碼的某個地方漏寫了結尾斜線。我(wǒ)們很容易忽略結尾斜線之類的東西,特别是在image标簽等元素中(zhōng)。例如:
在嚴格的DOCTYPE中(zhōng)這是無效的。要在img标簽結尾處加上“/”以解決此問題。
<img src="" alt="">
5、Align标簽
如果DOCTYPE被設爲Transitional,你就會使用“align”标簽,但如果要求更高一(yī)點希望得到Strict驗證,你會看到很多錯誤。 Align是另一(yī)個不可用于版面設計的标簽。可以嘗試用“float”或者“text-align”來代替align轉換元素。
6、JavaScript
如果已經聲明Strict DOCTYPE,就需要在JavaScript中(zhōng)覆蓋CDATA标簽。驗證程序的這一(yī)方面難倒了很多程序員(yuán),因爲網站傾向于爲廣告和追蹤腳本使用嵌入的 JavaScript。如果必須用到JavaScript,可以在其前後加上如下(xià)标簽:
<script type="text/javascript">
/* <![CDATA[ */
// JavaScript here
};
/* ]]> */
</script>
7、圖像需要“alt”屬性
你可能還沒有注意到,圖像也是高級驗證的潛在絆腳石。除了結尾斜線,高級驗證也要求用alt标簽來描述圖像,如alt= ”Scary vampire picture”.
搜索引擎也靠alt标簽來識别網頁上的圖像,所以無論怎樣加上alt标簽總是好的。
8、未知(zhī)實體(tǐ)數據
實體(tǐ)數據是又(yòu)一(yī)個影響驗證的易犯錯誤。我(wǒ)們可以考慮用适當的編碼字符來代替“&”等符号。entire list中(zhōng)列出在XHTML版塊設計中(zhōng)可用的适當的編碼字符實體(tǐ)數據。
9、不良嵌套
嵌套就是元素裏又(yòu)包括元素,如下(xià)所示:
<div><strong>Sweet!</strong></div>
我(wǒ)們容易混淆嵌套元素的順序。例如在div标簽前啓動strong标簽,但又(yòu)先關閉div标簽。這可能不會改變版塊布局,但卻會使你的版塊設計失效。
10、缺少“title”标簽
盡管這看上去(qù)是一(yī)個很明顯的錯誤,很多程序員(yuán)(包括我(wǒ)自己)還是經常會在“head”版塊中(zhōng)遺漏title标簽。當你看到“missing a required sub-element of HEAD”(缺少HEAD的必要子元素)時,才會發現自己忘記添加title标簽了。