高效整潔CSS代碼原則 (上)

CSS是一組格式設置規則,用於控制Web頁面的外觀。經過使用CSS樣式設置頁面的格式,可將頁面的內容與表現形式分離。本文呢主要介紹瞭如何實現高效整潔的CSS代碼原則,但願對你有幫助,一塊兒來看。瀏覽器

AD:ide

CSS學起來並不難,但在大型項目中,就變得難以管理,特別是不一樣的人在CSS書寫風格上稍有不一樣,團隊上就更加難以溝通,爲此總結了一些如何實現高效整潔的CSS代碼原則:post

1. 使用Reset但並不是全局Reset字體

不一樣瀏覽器元素的默認屬性有所不一樣,使用Reset可重置瀏覽器元素的一些默認屬性,以達到瀏覽器的兼容。但須要注意的是,請不要使用全局Reset:spa

   
  1. margin:padding:; } 

這不單單由於它是緩慢和低效率的方法,並且還會致使一些沒必要要的元素也重置了外邊距和內邊距。在此建議參考YUI Reset和Eric Meyer的作法。code

   
  1. /** 清除內外邊距 **/ 
  2. body, h1, h2, h3, h4, h5, h6, hr, p,  
  3. blockquote, /* structural elements 結構元素 */ 
  4. dl, dt, dd, ul, ol, li, /* list elements 列表元素 */ 
  5. pre/* text formatting elements 文本格式元素 */ 
  6. form, fieldset, legend, button, input, textarea, /* form elements 表單元素 */ 
  7. th, td, /* table elements 表格元素 */ 
  8. img/* img elements 圖片元素 */{  
  9. border:medium none;  
  10. margin;  
  11. padding;  
  12. }  
  13. /** 設置默認字體 **/ 
  14. body,button, input, select, textarea {  
  15. font12px/1.5 '宋體',tahoma, Srial, helveticasans-serif; }  
  16. h1, h2, h3, h4, h5, h6 { font-size100%; }  
  17. em{font-style:normal;}  
  18. /** 重置列表元素 **/ 
  19. ul, ol { list-stylenone; }  
  20. /** 重置超連接元素 **/ 
  21. a { text-decorationnonecolor:#333;}  
  22. a:hover { text-decorationunderlinecolor:#F40; }  
  23. /** 重置圖片元素 **/ 
  24. img{ border:0px;}  
  25. /** 重置表格元素 **/ 
  26. table { border-collapsecollapseborder-spacing; } 

2. 良好的命名習慣orm

無疑亂七八糟或者無語義命名的代碼,誰看了都會抓狂。就像這樣的代碼:繼承

   
  1. .aaabb{margin:2px;color:red;} 

我想即便是初學者,也不至於會在實際項目中如此命名一個class,但有沒有想過這樣的代碼一樣是頗有問題的:圖片

   
  1. <h1>My name is <span class="red blod">Wiky</span></h1

問題在於若是你須要把全部本來紅色的字體改爲藍色,那修改後就樣式就會變成:ci

   
  1. .red{color:bule;} 

這樣的命名就會很讓人費解,一樣的命名爲.leftBar的側邊欄若是須要修改爲右側邊欄也會很麻煩。因此,請不要使用元素的特性(顏色,位置,大小等)來命名一個class或id,您能夠選擇意義的命名如:

   
  1. #navigation{...}  
  2. .sidebar{...}  
  3. .postwrap{...} 

這樣,不管你如何修改定義這些class或id的樣式,都不影響它跟HTML元素間的聯繫。

另外還有一種狀況,一些固定的樣式,定義後就不會修改的了,那你命名時就不用擔心剛剛說的那種狀況,如

   
  1. .alignleft{float:left;margin-right:20px;}  
  2. .alignright{float:right;text-align:right;margin-left:20px;}  
  3. .clear{clear:both;text-indent:-9999px;} 

那麼對於這樣一個段落

   
  1. <p class="alignleft">我是一個段落!</p> 

若是須要把這個段落由原先的左對齊修改成右對齊,那麼只須要修改它的className就爲alignright就能夠了。

3. 代碼縮寫

CSS代碼縮寫能夠提升你寫代碼的速度,精簡你的代碼量。在CSS裏面有很多能夠縮寫的屬性,包括margin,padding,border,font,background和顏色值等,若是您學會了代碼縮寫,本來這樣的代碼:

   
  1. li{  
  2. font-family:ArialHelveticasans-serif;  
  3. font-size1.2em;  
  4. line-height1.4em;  
  5. padding-top:5px;  
  6. padding-bottom:10px;  
  7. padding-left:5px;  

就能夠縮寫爲:

   
  1. li{  
  2. font1.2em/1.4em ArialHelveticasans-serif;  
  3. padding:5px 0 10px 5px;  

4. 利用CSS繼承

若是頁面中父元素的多個子元素使用相同的樣式,那最好把他們相同的樣式定義在其父元素上,讓它們繼承這些CSS樣式。這樣你能夠很好的維護你的代碼,而且還能夠減小代碼量。那麼原本這樣的代碼:

   
  1. #container li{ font-family:Georgia, serif; }  
  2. #container p{ font-family:Georgia, serif; }  
  3. #container h1{font-family:Georgia, serif; } 

就能夠簡寫成:

   
  1. #container{ font-family:Georgia, serif; } 

5. 使用多重選擇器

你能夠合併多個CSS選擇器爲一個,若是他們有共同的樣式的話。這樣作不但代碼簡潔且可爲你節省時間和空間。如:

   
  1. h1font-family:ArialHelveticasans-seriffont-weight:normal; }  
  2. h2font-family:ArialHelveticasans-seriffont-weight:normal; }  
  3. h3font-family:ArialHelveticasans-seriffont-weight:normal; } 

能夠合併爲:

   
  1. h1, h2, h3font-family:ArialHelveticasans-seriffont-weight:normal; } 
相關文章
相關標籤/搜索