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