1.初級(jí)改善
為頁(yè)面添加正確的DOCTYPE
很多設(shè)計(jì)師和開(kāi)發(fā)者都不知道什么是DOCTYPE,DOCTYPE有什么用。DOCTYPE是document type的簡(jiǎn)寫(xiě)。主要用來(lái)說(shuō)明你用的XHTML或者HTML是什么版本。瀏覽器根據(jù)你DOCTYPE定義的DTD(文檔類(lèi)型定義)來(lái)解釋頁(yè)面代碼。所以,如果你不注意設(shè)置了錯(cuò)誤的DOCTYPE,結(jié)果會(huì)讓你大吃一驚。XHTML1.0提供了三種DOCTYPE可選擇:
(1)過(guò)渡型(Transitional )
(2)嚴(yán)格型(Strict )
(3)框架型(Frameset )
對(duì)于我們初級(jí)改善來(lái)說(shuō),只要選用過(guò)渡型的聲明就可以了。它依然可以兼容你的表格布局、表現(xiàn)標(biāo)識(shí)等,不至于讓你覺(jué)得變化太大,難以掌握。
Tip:你懶得輸入上面過(guò)渡型代碼的話,可以訪問(wèn)http://www.macromedia.com/網(wǎng)站的首頁(yè),然后查看源代碼,把head區(qū)同樣的代碼拷貝粘貼就可以了。
設(shè)定一個(gè)名字空間(Namespace)
直接在DOCTYPE聲明后面添加如下代碼:
一個(gè)namespace是收集元素類(lèi)型和屬性名字的一個(gè)詳細(xì)的DTD,namespace聲明允許你通過(guò)一個(gè)在線地址指向來(lái)識(shí)別你的namespace。只要照樣輸入代碼就可以。
聲明你的編碼語(yǔ)言
為了被瀏覽器正確解釋和通過(guò)標(biāo)識(shí)校驗(yàn),所有的XHTML文檔都必須聲明它們所使用的編碼語(yǔ)言。代碼如下:
這里聲明的編碼語(yǔ)言是簡(jiǎn)體中文GB2312,你如果需要制作繁體內(nèi)容,可以定義為BIG5。
用小寫(xiě)字母書(shū)寫(xiě)所有的標(biāo)簽
XML對(duì)大小寫(xiě)是敏感的,所以,XHTML也是大小寫(xiě)有區(qū)別的。所有的XHTML元素和屬性的名字都必須使用小寫(xiě)。否則你的文檔將被W3C校驗(yàn)認(rèn)為是無(wú)效的。例如下面的代碼是不正確的:
改成
,改成等等。這步轉(zhuǎn)換很簡(jiǎn)單。
為圖片添加 alt 屬性
為所有圖片添加alt屬性。alt屬性指定了當(dāng)圖片不能顯示的時(shí)候就顯示供替換文本,這樣做對(duì)正常用戶可有可無(wú),但對(duì)純文本瀏覽器和使用屏幕閱讀機(jī)的用戶來(lái)說(shuō)是至關(guān)重要的。只有添加了alt屬性,代碼才會(huì)被W3C正確性校驗(yàn)通過(guò)。注意的是我們要添加有意義的alt屬性,象下面這樣的寫(xiě)法毫無(wú)意義:
正確的寫(xiě)法:
給所有屬性值加引號(hào)
在HTML中,你可以不需要給屬性值加引號(hào),但是在XHTML中,它們必須被加引號(hào)。
例:height="100",而不能是height=100。
關(guān)閉所有的標(biāo)簽
在XHTML中,每一個(gè)打開(kāi)的標(biāo)簽都必須關(guān)閉。就象這樣:
每一個(gè)打開(kāi)的標(biāo)簽都必須關(guān)閉。
HTML可以接受不關(guān)閉的標(biāo),XHTML就不可以。
經(jīng)過(guò)上述七個(gè)規(guī)則處理后,頁(yè)面就基本符合XHTML1.0的要求。但我們還需要校驗(yàn)一下是否真的符合標(biāo)準(zhǔn)了。我們可以利用W3C提供免費(fèi)校驗(yàn)服務(wù)(http://validator.w3.org/)。發(fā)現(xiàn)錯(cuò)誤后逐個(gè)修改。在后面的資源列表中我們也提供了其他校驗(yàn)服務(wù)和對(duì)校驗(yàn)進(jìn)行指導(dǎo)的網(wǎng)址,可以作為W3C校驗(yàn)的補(bǔ)充。當(dāng)最后通過(guò)了XHTML驗(yàn)證,恭喜你已經(jīng)向網(wǎng)站標(biāo)準(zhǔn)邁出了一大步。不是想象中的那么難吧!
2.中級(jí)改善
接下來(lái)我們的改善主要在結(jié)構(gòu)和表現(xiàn)相分離上,這一步不象第一步那么容易實(shí)現(xiàn),我們需要觀念上的轉(zhuǎn)變,以及對(duì)CSS2技術(shù)的學(xué)習(xí)和運(yùn)用。但學(xué)習(xí)任何新知識(shí)都需要花點(diǎn)時(shí)間的,不是嗎?訣竅在于邊做邊學(xué)。假如你一直采用表格布局,根本沒(méi)用過(guò) CSS,也不必急于跟表格布局說(shuō)再見(jiàn),你可以先用樣式表代替 font 標(biāo)簽。隨著你學(xué)到的越多,你能做的就越多。好,一起來(lái)看看我們需要做哪些事:
用CSS定義元素外觀
我們?cè)趯?xiě)標(biāo)識(shí)時(shí)已經(jīng)養(yǎng)成習(xí)慣,當(dāng)希望字體大點(diǎn)就用
文本能夠變成巨大的、粗體的,
h1, h2, h3, h4, h5, h6{ font-family: 宋體, serif; font-size: 12px; }
用結(jié)構(gòu)化元素代替無(wú)意義的垃圾
許多人可能從來(lái)都不知道HTML和XHTML元素設(shè)計(jì)本意是用來(lái)表達(dá)結(jié)構(gòu)的。我們很多人已經(jīng)習(xí)慣用元素來(lái)控制表現(xiàn),而不是結(jié)構(gòu)。例如,一段列表內(nèi)容可能會(huì)使用下面這樣的標(biāo)識(shí):
句子一
句子二
句子三
如果我們采用一個(gè)無(wú)序列表代替會(huì)更好:
給每個(gè)表格和表單加上id
給表格或表單賦予一個(gè)唯一的、結(jié)構(gòu)的標(biāo)記,例如