網站設計的標準時代的XHTML+CSS教程

來源:互聯網
上載者:User
css|xhtml|標準|教程|設計

  讓我們趕緊跟上新時代的步伐,一起來瞭解一下網站標準吧。

  一.為什麼要建立網站標準

  我們大部分人都有深刻體驗,每當主流瀏覽器版本的升級,我們剛建立的網站就可能變得過時,我們就需要升級或者重建立造一遍網站。例如1996-1999年典型的“瀏覽器大戰”,為了相容Netscape和IE,網站不得不為這兩種瀏覽器寫不同的代碼。同樣的,每當新的網路技術和互動裝置的出現,我們也需要製作一個新版本來支援這種新技術或新裝置,例如支援手機上網的WAP技術。類似的問題舉不勝舉:網站代碼臃腫、繁雜浪費了我們大量的頻寬;針對某種瀏覽器的DHTML特效,屏蔽了部分潛在的客戶;不易用的代碼,殘障人士無法瀏覽網站等等。這是一種惡性迴圈,是一種巨大的浪費。

  如何解決這些問題呢?有識之士早已開始思考,需要建立一種普遍認同的標準來結束這種無序和混亂。商業公司(Netscape、Microsoft等)也終於認識到統一標準的好處,因此在W3C(W3C.org)的組織下,網站標準開始被建立(1998年2月10日發布XML1.0為標誌),並在網站標準組織(webstandards.org)的督促下推廣執行。

  簡單說,網站標準的目的就是:

提供最多利益給最多的網站使用者
確保任何網站文擋都能夠長期有效
簡化代碼、降低建設成本
讓網站更容易使用,能適應更多不同使用者和更多網路裝置
當瀏覽器版本更新,或者出現新的網路互動裝置時,確保所有應用能夠繼續正確執行。
對於網站設計和開發人員來說,遵循網站標準就是使用標準;對於你的網站使用者來說,網站標準就是最佳體驗。

  訪問量排名世界第4,中國第1的新浪網站,也遭遇非標準DHTML的問題。在最新發行的Netscape7和Mozila1.6瀏覽器中,新浪首頁的漂浮廣告全部失效,層疊擠在頁面左下角。也許那些廣告主認為損失這些潛在的使用者無所謂。(截圖日期2004年4月12日)


  二.什麼是網站標準

  網站標準不是某一個標準,而是一系列標準的集合。網頁主要由三部分組成:結構(Structure)、表現(Presentation)和行為(Behavior)。對應的標準也分三方面:結構化標準語言主要包括XHTML和XML,表現標準語言主要包括CSS,行為標準主要包括物件模型(如W3C DOM)、ECMAScript等。這些標準大部分由W3C起草和發布,也有一些是其他標準組織制訂的標準,比如ECMA(European Computer Manufacturers Association)的ECMAScript標準。我們來簡單瞭解一下這些標準:

  1.結構標準語言

  (1)XML

  XML是The Extensible Markup Language(可擴充標識語言)的簡寫。目前推薦遵循的是W3C於2000年10月6日發布的XML1.0,參考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一樣,XML同樣來源於SGML,但XML是一種能定義其他語言的語。XML最初設計的目的是彌補HTML的不足,以強大的擴充性滿足網路資訊發布的需要,後來逐漸用於網路資料的轉換和描述。關於XML的好處和技術規範細節這裡就不多說了,網上有很多資料,也有很多書籍可以參考。

  (2)XHTML

  XHTML是The Extensible HyperText Markup Language可擴充標識語言的縮寫。目前推薦遵循的是W3C於2000年1月26日推薦XML1.0(參考http://www.w3.org/TR/xhtml1)。XML雖然資料轉換能力強大,完全可以替代HTML,但面對成千上萬已有的網站,直接採用XML還為時過早。因此,我們在HTML4.0的基礎上,用XML的規則對其進行擴充,得到了XHTML。簡單的說,建立XHTML的目的就是實現HTML向XML的過渡。

  2. 表現標準語言

  CSS是Cascading Style Sheets層疊樣式表的縮寫。目前推薦遵循的是W3C於1998年5月12日推薦CSS2(參考http://www.w3.org/TR/CSS2/)。W3C建立CSS標準的目的是以CSS取代HTML表格式布局、幀和其他表現的語言。純CSS布局與結構式XHTML相結合能協助設計師分離外觀與結構,使網站的訪問及維護更加容易。

  3.行為標準

  (1)DOM

  DOM是Document Object Model文件物件模型的縮寫。根據W3C DOM規範(http://www.w3.org/DOM/),DOM是一種與瀏覽器,平台,語言的介面,使得你可以訪問頁面其他的標準組件。簡單理解,DOM解決了Netscaped的Javascript和Microsoft的Jscript之間的衝突,給予web設計師和開發人員一個標準的方法,讓他們來訪問他們網站中的資料、指令碼和表現層對像。

  (2) ECMAScript

  ECMAScript是ECMA(European Computer Manufacturers Association)制定的標準指令碼語言(JAVAScript)。目前推薦遵循的是ECMAScript 262(http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM)。

  三.遵循標準的網站與傳統網站的區別

  傳統網站只是印刷媒體的延伸,設計目標是保證在4-6個主流瀏覽器版本中看起來一致。通常的特徵是:

以表格為基礎的布局。
內容與表現方式混雜在一起。典型的例子是<font>標籤。
垃圾代碼(非標準代碼)。
不易用的代碼。
語義不正確的代碼。比如 <b> 不解釋的話,你根本不明白這是字型加粗的意思。
而採用網站標準建立的網站是一個能夠接受各種使用者和各種裝置的廣泛的交流溝通工具。一般特徵是:

語義正確的標識。即使用能夠表達含義的標籤。保證代碼可以在文本瀏覽器、PDAs、搜尋引擎中被正確理解。
正確有效代碼。通過W3C代碼校正(http://validator.w3.org/)的就是正確代碼。
對人、機都易用的代碼。能夠接受廣泛的使用者和裝置的訪問,
用CSS分離表現層和內容。使代碼更簡潔、下載速度更快,批量修改和定製表現形式更容易。

  四.採用網站標準的好處

  對網站瀏覽者的好處:

檔案下載與頁面顯示速度更快;
內容能被更多的使用者所訪問(包括失明、視弱、色盲等殘障人士);
內容能被更廣泛的裝置所訪問(包括螢幕閱讀機、手持功能、搜尋機器人、印表機、電冰箱等等)
使用者能夠通過樣式選擇定製自己的表現介面
所有頁面都能提供適於列印的版本
對網站所有者的好處:

更少的代碼和組件,容易維護
頻寬要求降低(代碼更簡潔),成本降低。舉個例子:當 ESPN.com 使用 CSS改版後,每天節約超過兩MB(terabytes)的頻寬。
更容易被搜尋引擎搜尋到
改版方便,不需要變動頁面內容
提供列印版本而不需要複製內容
提高網站易用性。在美國,有嚴格的法律條款(Section 508)來約束政府網站必須達到一定的易用性,其他國家也有類似的要求。

  五.怎麼改善現有網站

  我們大部分的設計師依舊在採用傳統的表格版面配置、表現與結構混雜在一起的方式來建立網站。學習使用XHTML+CSS的方法需要一個過程,使現有網站符合網站標準也不可能一步到位。最好的方法是循序漸進,分階段來逐步達到完全符合網站標準的目標。如果你是新手,或者對代碼不是很熟悉,也可以採用遵循標準的編輯工具,例如Dreamweaver MX 2004,它是目前支援CSS標準最完善的工具。

  1.初級改善

  為頁面添加正確的DOCTYPE

  很多設計師和開發人員都不知道什麼是DOCTYPE,DOCTYPE有什麼用。DOCTYPE是document type的簡寫。主要用來說明你用的XHTML或者HTML是什麼版本。瀏覽器根據你DOCTYPE定義的DTD(文件類型定義)來解釋頁面代碼。所以,如果你不注意設定了錯誤的DOCTYPE,結果會讓你大吃一驚。XHTML1.0提供了三種DOCTYPE可選擇:

  過渡型(Transitional )

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  嚴格型(Strict )

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

  架構型(Frameset )

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

  對於我們初級改善來說,只要選用過渡型的聲明就可以了。它依然可以相容你的表格版面配置、表現標識等,不至於讓你覺得變化太大,難以掌握。

  Tip:你懶得輸入上面過渡型代碼的話,可以訪問http://www.macromedia.com/網站的首頁,然後查看原始碼,把head區同樣的代碼拷貝粘貼就可以了。

  設定一個名字空間(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=http://www.webjx.com/htmldata/2005-06-13/”logo_unc_120x30.gif” alt=” logo_unc_120x30.gif”>

正確的寫法:

<img src=http://www.webjx.com/htmldata/2005-06-13/”logo_unc_120x30.gif” alt=”UNC公司標誌,點擊返回首頁”>

  給所有屬性值加引號

  在HTML中,你可以不需要給屬性值加引號,但是在XHTML中,它們必須被加引號。

例:height=”100”,而不能是height=100。

  關閉所有的標籤

  在XHTML中,每一個開啟的標籤都必須關閉。就象這樣:

<p>每一個開啟的標籤都必須關閉。</p>

<b>HTML可以接受不關閉的標,XHTML就不可以。</b>

  這個規則可以避免HTML的混亂和麻煩。舉例來說:如果你不關閉映像標籤,在一些瀏覽器中就可能出現CSS顯示問題。用這種方法能確保頁面和你設計的一樣顯示。需要說明的是:空標籤也要關閉,在標籤尾部使用一個正斜杠“/”來關閉它們自己。例如:

<br />

<img src="http://www.webjx.com/htmldata/2005-06-13/webstandards.gif" />

  經過上述七個規則處理後,頁面就基本符合XHTML1.0的要求。但我們還需要校正一下是否真的符合標準了。我們可以利用W3C提供免費校正服務(http://validator.w3.org/)。發現錯誤後逐個修改。在後面的資源清單中我們也提供了其他校正服務和對校正進行指導的網址,可以作為W3C校正的補充。當最後通過了XHTML驗證,恭喜你已經向網站標準邁出了一大步。不是想象中的那麼難吧!


  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而不才用任何錶格實現布局。限於本文是引導推廣之意,不展開詳述。

  最後我們特別需要補充介紹的是網站的易用性(Accessibility)和互動設計改善,易用性與網站標準有著標準聯絡緊密,和網站標準一樣,都是為了使我們的網站接受更多的使用者訪問。1990年W3C建立了Web Accessibility Initiative(WAI),給網站建造者提供實現可訪問性的方法和策略(http://www.w3.org/WAI/GL/)。提高易用性和研究互動設計(推薦VB之父Alan Cooper的About Face2.0一書)的策略能提高你的開發技術,開闊視野。提高你作為專業網頁設計師的價值,使你更具競爭力。這正是每個網站所有者和每個設計師或開發人員要努力達到的目標。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.