WEB2.0標準教程

WEB2.0標準教程
<第一課:WEB2.0標準教程WEB標準是什麼?>
2007年12月31日 星期一 05:13

WEB標準
WEB標準不是某一個標準,而是一系列標準的集合。網頁主要由三部分組成:結構(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)。

<第二課:WEB2.0標準教程如何應用WEB標準改善現有網站?>

2007年12月31日 星期一 05:31

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

1.初級改善

爲頁面添加正確的DOCTYPE

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

(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">

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

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="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/)。發現錯誤後逐個修改。在後面的資源列表中我們也提供了其他校驗服務和對校驗進行指導的網址,可以作爲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而不才用任何表格實現佈局。

<第三課:WEB2.0標準教程應用WEB標準建設網站有什麼好處?>
2007年12月31日 星期一 05:39

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

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

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

採用網站標準的好處

對網站瀏覽者的好處:
● 文件下載與頁面顯示速度更快;
● 內容能被更多的用戶所訪問(包括失明、視弱、色盲等殘障人士);
● 內容能被更廣泛的設備所訪問(包括屏幕閱讀機、手持設備、搜索機器人、打印機、電冰箱等等)
● 用戶能夠通過樣式選擇定製自己的表現界面
● 所有頁面都能提供適於打印的版本

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


<第四課:選擇什麼樣的DOCTYPE>
2007年12月31日 星期一 05:44

前言
大家好!這個系列文章是W3CN阿捷編寫的。是一些製作過程中的心得和經驗,希望對大家有點幫助。
同時,非常感謝阿捷與我們分享經驗與心得。好了,讓我們開始吧

WEB2.0標準網頁原代碼,第一行就是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

打開一些符合標準的站點,例如著名web設計軟件開發商Macromedia,設計大師Zeldman的個人網站,會發現同樣的代碼。而另一些符合標準的站點(例如k10k.net)的代碼則如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

那麼這些代碼有什麼含義?一定要放置嗎?
什麼是DOCTYPE
上面這些代碼我們稱做DOCTYPE聲明。DOCTYPE是document type(文檔類型)的簡寫,用來說明你用的XHTML或者HTML是什麼版本。

其中的DTD(例如上例中的xhtml1-transitional.dtd)叫文檔類型定義,裏面包含了文檔的規則,瀏覽器就根據你定義的DTD來解釋你頁面的標識,並展現出來。

要建立符合標準的網頁,DOCTYPE聲明是必不可少的關鍵組成部分;除非你的XHTML確定了一個正確的DOCTYPE,否則你的標識和CSS都不會生效。

XHTML 1.0 提供了三種DTD聲明可供選擇:

過渡的(Transitional):要求非常寬鬆的DTD,它允許你繼續使用HTML4.01的標識(但是要符合xhtml的寫法)。完整代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

嚴格的(Strict):要求嚴格的DTD,你不能使用任何表現層的標識和屬性,例如<br>。完整代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

框架的(Frameset):專門針對框架頁面設計使用的DTD,如果你的頁面中包含有框架,需要採用這種DTD。完整代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

我們選擇什麼樣的DOCTYPE
理想情況當然是嚴格的DTD,但對於我們大多數剛接觸web標準的設計師來說,過渡的DTD(XHTML 1.0 Transitional)是目前理想選擇(包括本站,使用的也是過渡型DTD)。因爲這種DTD還允許我們使用表現層的標識、元素和屬性,也比較容易通過W3C的代碼校驗。
注:上面說的"表現層的標識、屬性"是指那些純粹用來控制表現的tag,例如用於排版的表格、背景顏色標識等。在XHTML中標識是用來表示結構的,而不是用來實現表現形式,我們過渡的目的是最終實現數據和表現相分離。
打個比方:人體模特換衣服。模特就好比數據,衣服則是表現形式,模特和衣服是分離的,這樣你就可以隨意換衣服。而原來HTML4中,數據和表現是混雜在一起的,要一次性換個表現形式非常困難。呵呵,有點抽象了,這個概念需要我們在應用過程中逐步領會。

補充
DOCTYPE聲明必須放在每一個XHTML文檔最頂部,在所有代碼和標識之上。

<第五課:什麼是名字空間>

2007年12月31日 星期一 05:47

DOCTYPE聲明好以後,接下來的代碼是:

<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">

通常我們HTML4.0的代碼只是<html>,這裏的"xmlns"是什麼呢?

這個"xmlns"是XHTML namespace的縮寫,叫做"名字空間"聲明。名字空間是什麼作用呢?阿捷自己的理解是:

由於xml允許你自己定義自己的標識,你定義的標識和其他人定義的標識有可能相同,但表示不同的意義。當文件交換或者共享的時候就容易產生錯誤。爲了避免這種錯誤發生,XML採用名字空間聲明,允許你通過一個網址指向來識別你的標識。例如

小王和小李都定義了一個<book>標識,如果小王的名字空間是"http://www.xiaowang.com",小李的名字空間是"http://www.xiaoli.com",那麼當兩個文檔交換數據時,也不會混淆<book>標識,因爲它屬於不同的名字空間。

更通俗的解釋是:名字空間就是給文檔做一個標記,告訴別人,這個文檔是屬於誰的。只不過這個"誰"用了一個網址來代替。

XHTML是HTML向XML過渡的標識語言,它需要符合XML文檔規則,因此也需要定義名字空間。又因爲XHTML1.0不能自定義標識,所以它的名字空間都相同,就是"http://www.w3.org/1999/xhtml"。如果你還不太理解也不要緊,目前階段我們只要照抄代碼就可以了。

後面的lang="gb2312",指定你的文檔用簡體中文。

<第六課:定義語言編碼>

2007年12月31日 星期一 05:51

第三步是定義你的語言編碼:

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

爲了被瀏覽器正確解釋和通過W3C代碼校驗,所有的XHTML文檔都必須聲明它們所使用的編碼語言,我們一般使用gb2312(簡體中文),製作多國語言頁面也有可能用Unicode、ISO-8859-1等,根據你的需要定義。

通常這樣定義就可以了。但是要補充說明的是,XML文檔並不是這樣定義語言編碼的,XML的定義方式如下:

<?xml version="1.0" encoding="gb2312"?>

你在Macromedia.com的首頁代碼第一行就可以看見類似的語句,這也是W3C推薦使用的定義方法。那爲什麼我們不直接採用這種方法呢?原因是一些瀏覽器對標準的支持不完善,不能正確理解這樣的定義方法,比如IE6/windows。所以在目前過渡方案下,我們依然推薦使用meta方式。當然,你可以兩種方法都寫。

看本站源代碼,你會發現語言編碼定義的地方還多一句:

<meta http-equiv="Content-Language" content="gb2312" />

這是針對老版本瀏覽器寫的,以保證各種瀏覽器都能正確解釋頁面。

注意:在上面聲明語句的最後,你看到有一個斜槓"/",這和我們以前的HTML4.0的代碼寫法不同。原因是XHTML語法規則要求所有的標識都必須有開始和結束。例如<body>和</body>、<p>和</p>等,對於不成對的標識,要求在標識最後加一個空格,然後跟一個"/"。例如<br>寫成<br />、<img>寫成<img />,加空格的原因是避免代碼連在一起瀏覽器不識別。

<第七課:調用樣式表>

2007年12月31日 星期一 05:58

用web標準設計網站,過渡的方法主要是採用XHTML CSS,css樣式表是必不可少的。這就要求所有網頁設計師必須熟練掌握CSS,如果你以前不常用,那麼現在就開始學習吧。要製作符合web標準的網站,不懂CSS是設計不出漂亮的頁面的。

事實上,所有表現的地方都需要用CSS來實現。我們以前都習慣用table來定位和佈局,現在要改用DIV來定位和佈局。這是思維方式的變化,一開始有些不習慣。呵呵,任何變革都會有阻力的,爲了享受標準帶來的"益處",放棄一些老的傳統做法是值得的。


外部調用樣式表

在以前,我們通常採用2種方法使用樣式表:
頁面內嵌法:就是將樣式表直接寫在頁面代碼的head區。類似這樣:

<style type="text/css"> <!-- body { background : white ; color : black ; } --> </style>

外部調用法:將樣式表寫在一個獨立的.css文件中,然後在頁面head區用類似以下代碼調用。

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />

在符合web標準的設計中,我們使用外部調用法,好處不言而喻,你可以不修改頁面只修改.css文件而改變頁面的樣式。如果所有頁面都調用同一個樣式表文件,那麼改一個樣式表文件,可以改變所有文件的樣式。

雙表法調用樣式表

查看某些符合標準站點的原代碼,你可能看到,在調用樣式表的地方有如下2句:

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" /><style type="text/css" media="all">@import url( css/style01.css );</style>

爲什麼要寫兩次呢?

實際上一般情況下用外聯法調用(就是第一句)就足夠了。我這裏使用雙表調用只是一種示例。其中的"@import"命令用於輸入樣式表。而"@import"命令在netscape 4.0版本瀏覽器是無效的。也就是說,當你希望某些效果在netscape 4.0瀏覽器中隱藏,在4.0以上或其它瀏覽器中又顯示的時候,你可以採用"@import"命令方法調用樣式表。

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