網站如何達到W3C標準?網頁如何通過W3C驗證?

網站如何達到W3C標準?網頁如何通過W3C驗證?

話前語:沒有絕對的標準,除非你只要做W3C這樣的網站.以下摘錄內容僅作爲參考,真正的標準其實是你做到了你所需要的東西.

做站,有很多需要注意的地方,比如您的網站是否符合網頁標準?CSS是否規範,css在線檢測是否通過?
你的頁面是否符合w3c,w3c標準測試是否通過,如何檢測?測試地址在哪?
等問題。。。可能還有些需要,這裏列出來,供有需要的朋友使用!如果您是老手,請路過!
    CSS的檢測地址:http://jigsaw.w3.org/css-validator/
    XHTML & HTML的檢測地址:http://validator.w3.org/
如何符合w3c規範?

1、 確保所有的標籤都使用小寫字母
2、 確保所有的屬性值都放在引號裏
3、 確保所有成對標籤出現的順序、不成對的標籤都用/>結束, ”/”和”>”之間不要有空格

-----------------------------------------------------------------------

網站要通過W3C標準,需要注意以下幾個問題:
1.XHTML 1.0文件類別宣告的正確寫法 (不可小寫) 
A:過度標準(Transitional)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
B:框架標準(Frameset)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
C:嚴格標準(Strict) 
包含以上須注意的問題,還有其他更嚴格的標準
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
2.頭文件問題
所有的網頁頭文件都一律都改爲W3C標準形式,寫法如下:
<head> 
<meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
<meta http-equiv="content-language" content="zh-cn" /> 
<meta name="keywords" content="..." /> 
<meta name="description" content="..."/> 
<title>...</title> 
</head> 
3.不允許使用target="_blank"
在HTML4.01可以使用target="_blank",但XHTML1.0是不被允許的.
比如原來這樣寫的代碼:<a href="document.html" target="_blank"> 打開一個新窗口</a> 
現在需要寫成這樣:<a href="document.html" rel="external">打開一個新窗口</a> 
這是符合strict標準的方法。
當然還必須配合一個javascript纔有效。javascript完整的代碼JS如下:
function externallinks() { 
if (!document.getElementsByTagName) return; 
var anchors = document.getElementsByTagName("a"); 
for (var i=0; i<anchors.length; i++) { 
var anchor = anchors[i]; 
if (anchor.getAttribute("href") && 
anchor.getAttribute("rel") == "external") 
anchor.target = "_blank"; } 

window.onload = externallinks; 
然後把它保存成一個.js文件(比如open.js),再通過外部聯接方法調用:
<script type="text/javascript" src="external.js"></script>
4.XHTML 1.0要求所有的標識必須關閉
所有沒有成對的空標識必須以 /> 結尾
<p></p>和<a href="index.html"></a>這就是成對 
錯誤 <br> <hr> 
正確 <br /> <hr /> 
錯誤 <input type="text" name="name"> 
正確 <input type="text" name="name" /> 
錯誤 <meta ...> 
正確 <meta ... /> 
錯誤 <link rel="stylesheet" type="text/css" href="style.css"> 
正確 <link rel="stylesheet" type="text/css" href="style.css" /> 
錯誤 <img src="bg.gif" border="0" alt="說明文字"> 
正確 <img src="bg.gif" border="0" alt="說明文字" /> 
5.所有標識元素名稱都使用小寫
錯誤 <HTML> <TITLE> <HEAD> <BODY> 
正確 <html> <title> <head> <body> 
錯誤 <IMG SRC="BG.GIF" BORDER="0" ALT="說明文字"> 
正確 <img src="bg.gif" border="0" alt="說明文字" /> 
錯誤 <UL><LI></LI></UL> 
正確 <ul><li></li></ul> 
以上只是舉例,是"所有"標籤元素名稱都必須是小寫 
6.同一個id選擇器不可重複使用一個網頁中id="xx"同一個選擇器不能重複使用,若需要重複請用class="xx" 
7.W3C標準標識必須是成對的 
<p> </p> <span></span> <div></div> 
8.正確的標識順序 
錯誤 <b><i>文字</b></i> 
正確 <b><i>文字</i></b> 
9.JS寫法 
Javascript我們通常會寫爲 
錯誤 <script language="javascript"> 
W3C標準必須爲程式指定類型type=text/javascript,所以要寫爲 
正確 <script type="text/javascript"> 
或者 <script language="javascript" type="text/javascript"> 
載入外部.js:
正確 <script type="text/javascript" src="script.js"></script> 
10.絕對不可省略雙引號或單引號
錯誤 style=font-size:9pt 
正確 style="font-size:9pt" 
錯誤 <img src=bg.gif width=140 height=30 alt=text /> 
正確 <img src="bg.gif" width="140" height="30" alt="text" /> 
錯誤 <a href=home>text</a> 
正確 <a href="home">text</a> 
11.W3C標準規定圖片標識加上文字說明alt="圖片說明"
錯誤 <img src="bg.gif" height="50" border="0" /> 
正確 <img src="bg.gif" height="50" border="0" alt="說明文字" /> 
12.背景音樂不允許使用 bgsound 標籤,不過我們依然可以用JavaScript來解決這個問題。js代碼如下:
<!-- Begin 
var MSIE=navigator.userAgent.indexOf("MSIE"); 
var NETS=navigator.userAgent.indexOf("Netscape"); 
var OPER=navigator.userAgent.indexOf("Opera"); 
if((MSIE>-1) || (OPER>-1)) { 
document.write("<BGSOUND SRC=背景音樂地址 LOOP=INFINITE>"); 
} else { 
document.write("<EMBED SRC=背景音樂地址 AUTOSTART=TRUE "); 
document.write("HIDDEN=true VOLUME=100 LOOP=TRUE>"); 

// end -->然後保存成.js文件(比如background_music.js),通過外部聯接方法調用它

13. <embed>標識的爭議
<embed>是Netscape的私有標識,W3C標準從HTML3.2 HTML 4.01 到 XHTML 1.0 中都沒有這個標識,所以使用<embed>的頁面是不能通過標準測試。 
W3C標準推薦使用 <object> 標識,用<object>插入flash影片的代碼可以寫爲: 
<object type="application/x-shockwave-flash" data="index.swf" width="400" height="200"> 
<param name="movie" value="index.swf" /> 
</object> 
但這樣的寫法可能IE5/IE6 Win瀏覽器版本會出現問題.
<embed>標識因爲廣大的受到運用,不再標準範圍引起很大的爭議,想要解決這個問題,只能等IE瀏覽器對<object>有更好的支持或者W3C願意收錄<embed>標識。
14. W3C標準規定不允許使用框架標籤<IFRAME>
用JavaScript解決問題了。javascript完整的代碼如下:
function ifr(url,w,h){document.write(’<iframe id="ifr" name="ifr" width="’+w+’" height="’+h+’" border="0" frameborder="0" scrolling="no" src="’+url+’"></iframe>’);} 然後把它保存成一個.js文件(比如iframe.js),然後通過外部聯接方法調用:<script type="text/javascript" src="ifr.js"></script> 在你需要插入框架的地方寫以下代碼即可:<script type="text/javascript">ifr(’需插入的網頁地址’,’567’,’485’);</script> 函數ifr()使用說明:ifr(’這裏寫地址’,’這裏寫寬度’,’這裏寫長度’,)
15.google廣告問題
google廣告的代碼是不符合W3C標準的,只好又把它轉成JS調用,但GOOGLE政策裏是寫着不允許修改代碼的,
關於這點只能等待看看在以後會有什麼修改了。JS文件(google.js)代碼如下:document.writeln("<script type=\"text\/javascript\"><!--"); 
document.writeln("google_ad_client = \"pub-0538745384335317\";"); 
document.writeln("google_ad_width = 125;"); 
document.writeln("google_ad_height = 125;"); 
document.writeln("google_ad_format = \"125x125_as\";"); 
document.writeln("google_ad_type = \"text_image\";"); 
document.writeln("\/\/2007-06-29: http://www.100byte.com/"); 
document.writeln("google_ad_channel = \"4751988107\";"); 
document.writeln("google_color_border = \"1a1a1a\";"); 
document.writeln("google_color_bg = \"1a1a1a\";"); 
document.writeln("google_color_link = \"d0eb6a\";"); 
document.writeln("google_color_text = \"ffffff\";"); 
document.writeln("google_color_url = \"8ad459\";"); 
document.writeln("google_ui_features = \"rc:6\";"); 
document.writeln("\/\/-->"); 
document.writeln("<\/script>"); 
document.writeln("<script type=\"text\/javascript\""); 
document.writeln(" src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">"); 
document.writeln("<\/script>") 
各位可以按照自己的情況修改,網上也有許多把HTML代碼轉爲JS代碼的地方。最後在需要掛廣告的地方放入代碼 <script type="text/javascript" src="google.js"></script> 
16.W3C標準註解文字不可包含--符號
錯誤 <!-- index--box -->
正確 <!-- indexbox -->
小貼士:在樣式表的註釋中注意儘量避免用中文
17.正確使用CSS樣式表
樣式表放在文件本身的時候,一定要放在<head></head>之間
<link rel="stylesheet" type="text/css" href="style.css" /> 
<style type="text/css"> 
<!-- 
body{font-size:9pt;} 
--> 
</style> 
注意:
錯誤 <style> 正確 <style type="text/css">
18.使用表格常犯的錯誤
在做表格通常會指定寬與高,例如:<table border="1" width="300" height="100"> 
<tr><td> 內容 </td></tr> 
</table> 這樣做是沒有辦法通過,可使用CSS來控制標識元素的高度.table{ height:100px; }<table class="table"><tr><td> TEXT </td></tr> </table> 但若使用太多表格,在CSS一一指定不同高,也不是好方法其實很簡單將高度height屬性指定在儲存格就可以了通過測試
<table border="0" width="300"> <tr><td height="100"> TEXT </td></tr> </table> 但這不是W3C標準,建議多使用div代替不必要的table
19.非標識一部分的符號以編碼表示(窗體內包含以下符號也必須用編碼表示)
< 以 &lt; 表示 
> 以 &gt; 表示 
& 以 &amp; 表示 
程序中的連結 & 也要改用 &amp; 
錯誤 <a href="foo.cgi?chapter=1&section=2"> 
正確 <a href="foo.cgi?chapter=1&amp;section=2"> 
20.所有屬性都必須有值
XHTML1.0規定所有屬性都必須有值, 若沒有就必須重複屬性作爲值
錯誤 <input type="radio" value="v1" checked name="s1" /> 
正確 <input type="radio" value="v1" checked="checked" name="s1" /> 
錯誤 <option selected>S1</option> 
正確 <option selected="selected">S1</option> 
錯誤 <td nowrap> 
正確 <td nowrap="nowrap">

W3C標準測試網址 http://validator.w3.org/

W3C CSS 校驗網址 http://jigsaw.w3.org/css-validator/

發佈了31 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章