一、關於注釋
在建立xhtml+CSS網站時,CSS中的注釋非常重要。在建立CSS樣式時,應當保持隨手注釋的習慣。一般的,我習慣於使用“/* 注釋內容 */”的格式來寫注釋,因為在EditPlus等具有高亮功能的編輯器裡,使用C語言中常用的“/***************/”之類的注釋是無意義的,沒有必要填充大量無意義內容作為分隔。帶有注釋的文檔作為網站的原始CSS文檔,在發布網站的時候,可以使用CSS壓縮公用程式壓縮CSS,在輸出的CSS中去掉注釋以提高檔案傳輸效率。
二、關於命名
在給CSS檔案命名的時候,我比較喜歡使用符合語義的英文名或者縮寫命名,在非常用部分也許會用部分拼音命名。另外,在某些有從屬關係的class裡,我可能會使用類似“list_banner”之類的命名,即父元素名加上“_”再加上元素名。
關於命名,可以根據團隊設計師的習慣進行協商。但最好在命名之後加上注釋,以便將來產生文檔備查。
三、關於繼承性
在CSS中,要善用繼承性。比如在兩個嵌套的div中,父元素定義了background-color屬性為黑色,如果子項目的背景同為黑色,則不需重複定義。善於利用CSS的繼承性可以讓代碼更有效、更精簡。
四、關於CSS定義的層次
在定義CSS中的class時,建議使用層次分明的方式來描述語句。
樣本結構:
<div id="menu">
<div class="menulist">
<div class="selectit"></div>
</div>
</div>
樣本CSS:
#menu { ... }
#menu .menulist { ... }
#menu .menulist .selectit { ... }
在上例中,從最終效果來看,#menu沒有必要重複出現,但是實際上如果能夠在前面加上#menu,將會讓文檔的層次更加明了,更利於閱讀。
五、關於樣式排序
在設計CSS樣式表時,我們大多是手寫代碼,這樣很容易造成class中的樣式排序混亂。比如有幾個class中用到了padding、margin、background、color等樣式,但是排序的時候,有的class是background比較靠前,有的是margin比較靠前。這樣就造成了一定的混亂,容易讓思路受挫。我建議個人或者團隊的設計師協定一個大致順序,這樣從個別來說看不出太大差別,但從整體上將更加易於閱讀和管理,整體效率會提高不少。
比如,我預設將width、height和padding、margin、border等放在較靠前的位置,background其次,然後是控制文本的font、color、text-align等,接著是某些特殊標籤才能用到的元素,像list-style等,最後是css濾鏡。當遇到特殊情況時(比如CSS某些屬性的優先順序需要定義)可以靈活處理。
就總結到這裡了,火德歡迎大家補充、指正。