1.第一步改善
為頁面新增正確的DOCTYPE
DOCTYPE是document type的簡寫。主要用來說明用的XHTML或是HTML是什麼版本。瀏覽器根據DOCTYPE定義的DTD(文檔類型定義)來解釋頁面代碼。
(1)過渡型(Transitional )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
(2)嚴格型(Strict )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
(3)框架型(Frameset )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
設定一個名字空間(Namespace)
直接在DOCTYPE聲明後面加上如下程式碼:
<html XMLns="http://www.w3.org/1999/xhtml" >
一個namespace是收集元素類型和屬性名字的詳細的DTD,namespace聲明允許你透過一個線上位址指向來識別你的namespace。只要照樣輸入代碼就可以。
聲明你的編碼語言
為了被瀏覽器正確解釋並透過識別校驗,所有的XHTML文件都必須聲明它們所使用的編碼語言。程式碼如下:
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
這裡聲明的編碼語言是簡體中文GB2312,如果需要製作繁體內容,可以定義為BIG5。
用小寫字母書寫所有的標籤
XML對大小寫是敏感的,所以,XHTML也是大小寫有差別的。所有的XHTML元素和屬性的名字都必須使用小寫。否則你的文件將被W3C校驗認為是無效的。例如下面的程式碼是不正確的:
<TITLE>公司簡介</TITLE>
正確的寫法是:
<title>公司簡介</title> 同樣的,<P>改成<p>,<B>改成<b>等等。這步轉換很簡單。
為圖片新增alt 屬性
為所有圖片新增alt屬性。 alt屬性指定了當圖片不能顯示的時候就顯示供替換文本,這樣做對正常用戶可有可無,但對純文本瀏覽器和使用屏幕閱讀機的用戶來說是至關重要的。只有加入了alt屬性,程式碼才會被W3C正確性校驗通過。注意的是我們要加入有意義的alt屬性,像下面這樣的寫法毫無意義:
<img src="logo_unc_120x30.gif" alt="logo_unc_120x30.gif">
正確的寫法:
<img src="logo_unc_120x30.gif" alt="UNC公司標誌,點選回首頁">
給所有屬性值加引號
在HTML中,你可以不需要為屬性值加引號,但在XHTML中,它們必須被加引號。
例:height="100",而不能是height=100。
關閉所有的標籤
在XHTML中,每個開啟的標籤都必須關閉。就像這樣:
<p>每一個開啟的標籤都必須關閉。 </p> <b>HTML可以接受不關閉的標,XHTML就不行。 </b>
這個規則可以避免HTML的混亂和麻煩。舉例來說:如果你不關閉圖像標籤,在某些瀏覽器中就可能出現CSS顯示問題。用這種方法能確保頁面和你設計的一樣顯示。需要說明的是:空標籤也要關閉,在標籤尾部使用一個正斜線"/"來關閉它們自己。例如:
<br /> <img src="webstandards.gif" />
經過上述七個規則處理後,頁面基本上符合XHTML1.0的要求。但我們還需要校驗一下是否真的符合標準了。我們可以利用W3C提供免費校驗服務(http://validator.w3.org/)。發現錯誤後逐一修改。
2.第二步改善
接下來我們的改善主要在結構和表現相分離上,這一步不像第一步那麼容易實現,我們需要觀念上的轉變,以及對CSS2技術的學習和運用。但學習任何新知識都需要花點時間的,不是嗎?訣竅在於邊做邊學。假如你一直採用表格佈局,根本沒用過CSS,也不必急於跟表格佈局說再見,你可以先用樣式表代替font 標籤。隨著你學到的越多,你能做的就越多。好,一起來看看我們需要做哪些事:
用CSS定義元素外觀
我們在寫標識時已經養成習慣,當希望字體大點就用<h1>,希望在前面加個點符號就用<li>。我們總是想<h1>的意思是大的,<li>的意思是圓點,<b>的意思是「加粗文字」。而實際上, <h1>能變成你想要的任何樣子,透過CSS,<h1>能變成小的字體,<p>文字能夠變成巨大的、粗體的,<li>能夠變成一張圖片等等。我們不能強迫用結構元素來實現表現效果,我們應該使用CSS來決定那些元素的外觀。例如,我們可以讓原來預設的6級標題可以看起來大小一樣:
h1, h2, h3, h4, h5, h6{ font-family: 宋體, serif; font-size: 12px; }
用結構化元素取代無意義的垃圾
許多人可能從來不知道HTML和XHTML元素設計本意是用來表達結構的。我們很多人已經習慣用元素來控製表現,而不是結構。例如,一段清單內容可能會使用下面這樣的識別:
句子一<br /> 句子二<br /> 句子三<br />
如果我們採用一個無序列表代替會更好:
<ul> <li>句子一</li> <li>句子二</li> <li>句子三</li> </ul>
你或許會說「但是<li>顯示的是一個圓點,我不想用圓點」。事實上,CSS沒有設定元素看起來是什麼樣子,你完全可以用CSS關掉圓點。
給每個表格和表單加上id
給表格或表單一個唯一的、結構的標記,例如
<table id="menu">
接下來,在書寫樣式表的時候,你就可以建立一個「menu」的選擇器,並且關聯一個CSS規則,用來告訴表格單元、文字標籤和所有其他元素怎麼去顯示。這樣,不需要對每個<td>標籤附帶一些多餘的、佔用頻寬的表現層的高、寬、對齊和背景顏色等等屬性。只需要一個附著的標記(標記「menu」的id標記),你就可以在一個分離的樣式表內為乾淨的、緊湊的代碼標記進行特別的表現層處理。
中級改善我們這裡先列主要的三點,但其中包含的內容和知識點非常多,需要我們逐步學習和掌握,直到最後實現完全採用CSS而不才用任何表格實現佈局。