李錕爲ZEN OF CSS寫的推薦序

 
推薦序
 
國內的Web開發技術與美國相比大約相差3年左右,應用Web標準的差距也大約是3年左右。今天,在積累了很多開發經驗和教訓之後,國內的一些網站已經認識到基於table的佈局的嚴重缺點,並且已經在嘗試摒棄這種舊的方法,轉向完全的CSS佈局。
 
作爲一個老的Web開發者,我還記得瀏覽器大戰的混亂年代所遺留下來的惡果。在2001年,我在德國的一家小型軟件公司工作過半年,公司位於德國黑森州一個風景如畫的小鎮。我的主要工作之一是做DHTML開發。在國外做Web開發,老闆的要求要苛刻的多。我所開發的各種動態頁面效果必需要支持多種瀏覽器,在多種瀏覽器中要獲得幾乎完全相同的表現效果。在當時來說,主要要支持的瀏覽器就是IE4和Netscape4,這是我們當時的客戶羣使用的最多的兩種瀏覽器(當時的德國人還在廣泛使用這兩種老舊的瀏覽器)。
 
有一天,老闆讓我實現一個常見的“走馬燈”的頁面效果。老闆可能覺得這是一件非常容易的工作,然而它卻耗費了我兩個深夜的加班。IE4和Netscape4各自有一套不同的頁面模型,實現相同的功能,必需要開發兩套不同的代碼,分別進行測試。因此支持兩種瀏覽器,就意味着雙倍的工作量。IE4和Netscape4都不支持CSS,佈局完全使用table套table,頁面代碼搞的相當複雜。
這樣類似的事情在當時做過很多次,最後我的DHTML開發水平放在國內也能算是個高手了。然而我卻沒有多少自豪感,我感覺自己的大量時間似乎並不應該浪費在與IE4和Netscape4這兩個怪物的搏鬥上,還有很多更加有趣的事情等着我去做。
 
俱往矣,憶苦之後再來思甜。今天,主流的瀏覽器都已經能夠很好地支持Web標準,主要就是XHTML/CSS/DOM這三大標準。今天做Web前端(即瀏覽器端)的開發,在大多數場合,都只需要寫一套html、一套css、一套JavaScript就可以正常地運行在所有主流的瀏覽器中。隨着瀏覽器新版本對於Web標準支持的改善,少數必需要編寫特定於某種瀏覽器代碼的場合會越來越少。
 
在這三個標準中,國內的Web開發者掌握的最差的就是CSS。基於table的佈局的慣性思維嚴重阻礙了Web開發者對於CSS的接受。不過另外一個原因也跟國內缺乏能反映出CSS標準最新發展成果的高水平著作有關。大多數國內的Web開發者學習CSS的主要方法是通過試錯法,而且很多人只在一種瀏覽器的某一特定版本(通常是IE6)上測試頁面的表現。試錯法是一種效率最低的學習方法,而且很多時候得到的經驗和結論有可能是錯誤的。有鑑於此,人民郵電出版社適時出版了《精通CSS》和《CSS設計禪機》兩本代表國外CSS應用最高水平的著作。這兩本書對於國內的Web開發者而言,正是他們當前所急需的書籍。
 
雖然W3C的CSS2規範(http://www.w3.org/TR/REC-CSS2/)在1998年就成爲了正式的規範,但是因爲主流的瀏覽器對於CSS的支持實現的非常緩慢,實際上CSS被廣泛應用是在2001年之後的事情。那個時候,至少兩大市場佔有率最高的瀏覽器IE和Mozilla的最新版本(IE6和Mozilla1.0)對於CSS都已經有了不錯的支持。能夠完全支持CSS1,並且部分支持CSS2。2003年,Web標準項目(WaSP)的核心成員Dave Shea創建了CSS禪意花園網站,很快就成爲了普及Web標準的指標性網站,成爲了廣大Web設計師學習模仿的目標。直到今天,CSS禪意花園網站仍代表着應用CSS的最高水平,而《CSS設計禪機》則是CSS禪意花園網站設計師多年心血的結晶。
 
毫無疑問,CSS是一種偉大的技術,它使得對於HTML的應用回到了它的本原——表達頁面的結構含義而非表現含義。CSS也是目前Web開發中最爲成熟和可靠的表現技術。XHTML/CSS/DOM三大標準清晰地劃分出了頁面中的結構/表現/行爲,將三部分分別放在html、css、js文件中。清晰地劃分出頁面的這三個部分,現在成爲了對於DHTML組件設計優劣的一個判斷標準,這個標準被稱作Unobtrusive。通過應用CSS來完全控制頁面的表現,可以完全將頁面的結構和表現分離開,實現頁面的結構和表現最大限度的重用。最終帶來的好處有這些:
1. html文件和css文件達到了最簡化,文件尺寸相比基於table佈局實現相同的表現效果會小很多。
2. 實現了高度重用的單個css文件可以控制多個html文件的佈局和表現,維護和改版起來非常容易,也非常容易做到換膚等效果。
3. 這樣的頁面更能受到搜索引擎的青睞。因爲這樣的頁面標籤達到了最簡化,搜索引擎最喜歡這樣的頁面,因此可以預見這樣的頁面會得到更好的搜索引擎排位。
 
   全面轉向基於CSS的頁面佈局,這是國內Web開發領域一場很大的變革。這場變革將會改善Web應用的可用性,並且使得Web開發團隊更加敏捷。尤其對於Web 2.0網站的開發者而言,CSS是他們必需精通的技術。讓我們共同努力,促使這場變革儘快順利完成。CSS禪意花園網站和《CSS設計禪機》已經充分展示了其設計師的智慧、創意和藝術修養。接下來呢,是不是該輪到您露一手了?:)
  
李錕
2007年元宵節 於上海
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章