WEB標準是一系列標準的集合,網頁主要由三部分組成:結構(Structure)、表現(Presentation)和行爲(Behavior)。對應的標準也分三方面:結構化標準語言主要包括XHTML和XML,表現標準語言主要包括CSS,行爲標準主要包括對象模型(如W3C DOM)、ECMAScript等。
1.結構標準
- 可擴展標記語言(XML)
和HTML一樣,XML同樣來源於標準通用標記語言,可擴展標記語言和標準通用標記語言都是能定義其他語言的語言。XML最初設計的目的是彌補HTML的不足,以強大的擴展性滿足網絡信息發佈的需要,後來逐漸用於網絡數據的轉換和描述。
- 可擴展超文本標記語言(XTHML)
目前推薦遵循的是W3C於2000年1月26日推薦XML1.0。XML雖然數據轉換能力強大,完全可以替代HTML,但面對成千上萬已有的站點,直接採用XML還爲時過早。因此,我們在HTML4.0的基礎上,用XML的規則對其進行擴展,得到了XHTML。簡單的說,建立XHTML的目的就是實現HTML向XML的過渡
2.表現標準
層疊樣式表(CSS)。目前推薦遵循的是萬維網聯盟(W3C)於1998年5月12日推薦CSS2。W3C創建CSS標準的目的是以CSS取代HTML表格式佈局、幀和其他表現的語言。純CSS佈局與結構式XHTML相結合能幫助設計師分離外觀與結構,使站點的訪問及維護更加容易。
3.行爲標準
ECMAScript
ECMAScript 是 ECMA 制定的標準腳本語言(javaScript),目前遵循的是ECMAScript 262
文檔對象模型
文檔對象模型(DOM)。根據W3C DOM規範,DOM是一種與瀏覽器,平臺,語言的接口,使得你可以訪問頁面其他的標準組件。簡單理解,DOM解決了Netscaped的Javascript和Microsoft的Javascript之間的衝突,給予web設計師和開發者一個標準的方法,讓他們來訪問他們站點中的數據、腳本和表現層對象。
4.代碼標準
必須結束標記
XHTML要求有嚴謹的結構,所有標籤必須關閉。如果是單獨不成對的標籤,在標籤最後加一個”/”來關閉它。
例如:
<br />
例如:
<img height="80" alt="網頁設計師" src="../images/logo_w3cn_200x80.gif" width="200" />
小寫元素和屬性名
XHTML對大小寫是敏感的,
<title>
和<TITLE>
是不同的標籤。XHTML要求所有的標籤和屬性的名字都必須使用小寫。大小寫夾雜也是不被認可的,通常dreamweaver自動生成的屬性名字
onMouseOver
也必須修改成onmouseover
。標記都必須合理嵌套
例如:
<p><b></b></p>
,就是說,一層一層的嵌套必須是嚴格對稱。屬性必須括起來
例如:
<height=80>
必須修改爲:<height="80">
特殊情況:你需要在屬性值裏使用雙引號,你可以用”,單引號可以使用
'
,例如:<alt="say'hello'">
特殊符號用編碼表示
1. <,不是標籤的一部分,都必須被編碼爲
<
;2. >,不是標籤的一部分,都必須被編碼爲
>
;3. &,不是實體的一部分,都必須被編碼爲
&
;4.
,不是實體的一部分,都必須被編碼爲
給所有屬性賦值
XHTML規定所有屬性都必須有一個值,沒有值的就重複本身。
例如:
<td nowrap> <input type="checkbox" name="shirt" value="medium"checked>
必須修改爲:
<td nowrap="nowrap"> <input type="checkbox" name="shirt"value="medium" checked="checked">
在註釋中不使用的符號
“–”只能發生在XHTML註釋的開頭和結束,也就是說,在內容中它們不再有效。例如下面的代碼是無效的:
<!--這裏是註釋-----------這裏是註釋-->
5.測試標準
(1)標準測試的內容
1. 頁面校驗
2.CSS文檔校驗
3.XHTML 1.0 標準
4.W3C標準測試
測試時一定要有文件類別宣告還有指定文件編碼,才能順利進行測試動作,開始打造一個標準的網站!
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
(2)W3C標準測試使用說明
XHTML 1.0文件類別宣告的正確寫法 (不可小寫)
過度標準(Transitional)公共標識符稱爲:”-//W3C//DTD XHTML1.0Transitional//EN”。
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
框架標準(Frameset)公共標識符稱爲:“-//W3C//DTD XHTML 1.0 Frameset//EN”。
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN">
嚴格標準(Strict) 公共標識符稱爲:“-//W3C//DTD XHTML 1.0 Strict//EN”。
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
所有網頁頭文件都必須改爲標準格式
<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>
不允許使用
target="_blank";
在HTML4.01可以使用
target="_blank"
,但XHTML1.0是不被允許的.function 外部鏈接() //unicode javascript { if (!document.getElementsByTagName) return; var anchors = document.getElementsByTagName("a"); for (var i=0; i<anchors.length; i++) { var anchor = anchors; if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank"; } } window.onload = 外部鏈接;
你可以把它保存成一個.js文件(比如外部鏈接.js),然後通過外部聯接方法調用:
<script type="text/javascript" src="外部鏈接.js"></script>
XHTML 1.0要求所有的標籤必須關閉
所有沒有成對的空標籤必須以 />結尾,例如:
<hr />
<input type="text" name="name" />
所有標籤元素名都使用小寫
錯誤
<HTML> <TITLE> <HEAD> <BODY>
正確
<html> <title> <head> <body>
同一個id選擇器不可同時使用
一個網頁中id=”xx”同一個選擇器不能重複使用,若需要重複請用class=”xx”
標籤必須是一對
例如:
<p></p>
正確標籤順序
JavaScript寫法
W3C標準必須爲程式指定類型type=text/javascript,所以要寫爲
<scripttype="text/javascript">
或者<script language="javascript" type="text/javascript">
載入外部.js獨立檔案的寫法
<script type="text/javascript" src="script.js"></script>
絕對不可省略單引號或者雙引號
錯誤:
<img src=bg.gif width=140 height=30 alt=text />
正確:
<img src="bg.gif" width="140" height="30" alt="text" />
圖片標籤加上文字說明
alt="文字說明"
<img src="bg.gif" height="50" border="0" alt="說明文字" />
背景音樂不允許使用
bgsound
標籤正確寫法如下,然後通過外部鏈接方法調用
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>"); }
不允許使用框架標籤
用js通過外鏈引入頁面
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>');}
註解文字不可包含”–”符號
錯誤
<!-- OEC--SPACE -->
正確
<!-- OECSPACE -->
正確使用CSS樣式表
非標籤部分以編碼表示
所有屬性都必須有值
6.優點
(1)對於訪問者
文件下載與頁面顯示速度更快。
內容能被更多的用戶所訪問(包括失明、視弱、色盲等殘障人士)。
內容能被更廣泛的設備所訪問(包括屏幕閱讀機,手持設備,搜索機器人,打印機,電冰箱等)。
用戶能夠通過樣式選擇定製自己的表現界面。
所有頁面都能提供適於打印的版本。
(2)對於網站所有者
更少的代碼和組件,容易維護。
帶寬要求降低(代碼更簡潔),成本降低。舉個例子:當 ESPN.com 使用 CSS改版後,每天節約超過兩兆字節(terabytes)的帶寬。
更容易被搜尋引擎搜索到。
改版方便,不需要變動頁面內容。
提供打印版本而不需要複製內容。
提高網站易用性。在美國,有嚴格的法律條款(Section 508)來約束政府網站必須達到一定的易用性,其他國家也有類似的要求。
7.誤區
不爲通過校驗才標準化
web標準的本意是實現內容(結構)和表現分離,就是將樣式剝離出來放在單獨的css文件中。這樣做的好處是可以分別處理內容和表現,也方便搜索和內容的再利用。
W3C校驗僅僅是幫助你檢查XHTML代碼的書寫是否規範,css的屬性是否都在CCS2的規範內。代碼的標準化僅僅是第一步,不是說通過的校驗,我的網頁就標準化了。我們不是爲了虛名,或者向別人炫耀:“看我的頁面通過了校驗”而去標準化,我們的目的是爲了使自己的網頁設計工作更有效率,爲了縮小網頁尺寸,爲了能夠在任何瀏覽器和網絡設備中正常瀏覽。
不用傳統表格思維來套div
不必每塊內容都建id
我們知道內容都是有結構的(如果不明白,請點擊閱讀,理解表現和結構相分離 ,相同的結構的內容我們可以用同一個樣式來定義,比如相同級別的標題、正文、圖片。對於多次引用的樣式可以用class來定義,不需要每個都用id;另外也不是說一定要用,你完全可以用別的來代替,同樣都是塊級元素,一樣有盒模型的七個參數,僅僅方便浮動。