自從看了Zeldman先生的力作“Designing with Web Standards”中文版為《網(wǎng)站重構(gòu)》(第2版)一書,感受頗深,堅定了我用web標(biāo)準(zhǔn)的思想,去開發(fā)實踐我們的項目。但是僅知道一些什么是web標(biāo)準(zhǔn)以及如何應(yīng)用到實際項目中,還是遠遠不夠的。必須對web標(biāo)準(zhǔn)中的每個組成部分,逐一學(xué)習(xí)應(yīng)用,各個擊破,方能發(fā)現(xiàn)它們的本質(zhì)!對于像我這樣的web開發(fā)設(shè)計人員,懂得這個道理,進行針對性的學(xué)習(xí)與實踐,我相信我們一定會收獲的更多,同時也算是為web標(biāo)準(zhǔn)在中國的應(yīng)用做一點貢獻!(呵呵,這個可能有些吹牛,但是的確是我們大多數(shù)軟件從業(yè)人員的理想。)
現(xiàn)在是web2.0乃至3.0的時代,是XHTML,XML,CSS,ECMAScript和DOM的時代。雖然它們不是最終的技術(shù),但它們組合起來就成為一個解決方案——我們規(guī)劃建立一個向后兼容的網(wǎng)站的基礎(chǔ),同時也是做符合web標(biāo)準(zhǔn)的網(wǎng)站的必要的技術(shù)基礎(chǔ)。我們不僅要做到希望獲得更多的用戶支持與訪問,更要建立長久的,漂亮的網(wǎng)站長時間吸引他們的注意力。我相信學(xué)會使用CSS來改善我們的網(wǎng)站,是吸引他們注意力的好辦法,也是在web2.0時代中時髦的發(fā)展趨勢。下面我僅就CSS技術(shù)談一下我從中獲得到的經(jīng)驗。
想成為一名CSS專家,僅僅熟練使用CSS選擇符(selectors)是遠遠不夠的。還在于對工作的整體規(guī)劃,工作流程的掌握以及提高樣式表的可維護性和效率。用CSS可以創(chuàng)建出我們想要的美妙絕倫的網(wǎng)站,而寫CSS本身就是一種享受。 那么我們應(yīng)該如何創(chuàng)建更具吸引力的樣式表?你的樣式表應(yīng)該具有哪些特性呢?通過學(xué)習(xí)并結(jié)合我自己的工作經(jīng)驗,總結(jié)出一套制作精美樣式表的好方法。
一、不要讓CSS有過多的標(biāo)記
鏈接或者導(dǎo)入樣式表聽起來好像是一種無頭緒的工作。我看過很多的網(wǎng)站開發(fā)都有著整潔的、組織嚴密的css文檔,但是慢慢的,由于可能達不到在短期內(nèi)快速更新,或者懶得再去管理,這使得先前創(chuàng)建的精致的樣式表變成了垃圾。如果我們工作在需要發(fā)布上百條內(nèi)容的龐大網(wǎng)站上面。因為時間有限,所以你需要通過嵌套或者排列css來進行快速修改或更新。隨著時間的推移,這種習(xí)慣維持著,直到有一天你被告知這個網(wǎng)站要完全推翻重新設(shè)計(但是內(nèi)容還是一樣)而且你只有一周的時間去創(chuàng)建(包括測試)。一般來說,更新樣式表還算是一個非常簡單的方法,除非你長時間對網(wǎng)站零散的區(qū)域做修改,你就不能對網(wǎng)站樣式表結(jié)構(gòu)有一個整體的把握。
鏈接或者導(dǎo)入你的樣式表不是隨意的事情。創(chuàng)建干凈整潔的樣式表并保持下去,工作就會更開心。注意:如果你試圖在每次更新或者添加新內(nèi)容的時候創(chuàng)建新的樣式表,那你肯定是自找麻煩。過多的鏈接和導(dǎo)入樣式表會使消除bug變得異常困難,讓樣式表很難維持。大一點的網(wǎng)站分別建立不同部分的樣式表這是可以理解的。就是小心不要走極端。添加很多的樣式表,會增加更多的http請求,可能還會影響到后面的工作。
二、語義定義明確易懂
除了選擇最合適的,最有意義的元素來表述外,還要確定選擇class 和id屬性值。定義明確可以讓維護變得簡單,小組里的成員都會看懂?催@個定義:
.l10k { color: #369; } ,.left-blue { color: #369; } ,如果是我做的我可能知道是啥意思,但是比人不一定就懂了。即使今天知道它的意思,但是能保證很多年后還知道它的意思嗎? 最好不要在類屬性里面去加入顏色或者長寬的尺寸。更恰當(dāng)?shù)拿?guī)范:. work-description { color: #369; }
三、知道什么時候添加有條件的注釋和運用技巧
很多文章寫過一些關(guān)于問題解決的技巧,有條件的注釋是控制IE發(fā)布的一個好方法。我同意有條件的注釋比在你的css文檔里亂寫要好得多,但是最近我開始慢慢意識到,很多證據(jù)表明,這并不是最好的解決辦法。想在一個元素中設(shè)置它的最低高度,但是IE6瀏覽器卻不執(zhí)行它,所以你知道自己能夠使用的高度,也同樣會被同樣的處理。重新建一個樣式表,然后把有條件的注釋加入到你的標(biāo)識中,你所有的需要都是要遵循這個規(guī)定?保持最低的高度和高度的規(guī)則在一起,選擇一個小技巧在同樣的css文檔里,這樣會更好嗎?在這種情況下,我覺得用這種方法很難奏效。
四、應(yīng)用CSS到網(wǎng)頁中盡量使用外部樣式表
好處嗎?大家都比較清楚,當(dāng)然有一點是不可否認的,可以最大限度的實現(xiàn)代碼的重用及最優(yōu)化配置網(wǎng)站文件。