萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> DivCSS教程 >> 高效整潔CSS代碼

高效整潔CSS代碼

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

 

1. 使用Reset但並非全局Reset

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

*{ margin:0; padding:0; }

  這不僅僅因為它是緩慢和低效率的方法,而且還會導致一些不必要的元素也重置了外邊距和內邊距。在此建議參考YUI Reset和Eric Meyer的做法。我跟Eric Meyer的觀點相同,Reset並不是一成不變的,具體還需要根據項目的不同需求做適當的修改,以達到浏覽器的兼容和操作上的便利性。我使用的Reset如下:

 

/** 清除內外邊距 **/
body, h1, h2, h3, h4, h5, h6, hr, p,
blockquote, /* structural elements 結構元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表單元素 */
th, td, /* table elements 表格元素 */
img/* img elements 圖片元素 */{
  border:medium none;
  margin: 0;
  padding: 0;
}
/** 設置默認字體 **/
body,button, input, select, textarea {
  font: 12px/1.5 '宋體',tahoma, Srial, helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
em{font-style:normal;}
/** 重置列表元素 **/
ul, ol { list-style: none; }
/** 重置超鏈接元素 **/
a { text-decoration: none; color:#333;}
a:hover { text-decoration: underline; color:#F40; }
/** 重置圖片元素 **/
img{ border:0px;}
/** 重置表格元素 **/
table { border-collapse: collapse; border-spacing: 0; }

 

2. 良好的命名習慣

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

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

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

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

  問題在於如果你需要把所有原本紅色的字體改成藍色,那修改後就樣式就會變成:

.red{color:bule;}

  這樣的命名就會很讓人費解,同樣的命名為.leftBar的側邊欄如果需要修改成右側邊欄也會很麻煩。所以,請不要使用元素的特性(顏色,位置,大小等)來命名一個class或id,您可以選擇意義的命名如:#navigation{...},.sidebar{...},.postwrap{...}

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

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

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

  那麼對於這樣一個段落

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

  如果需要把這個段落由原先的左對齊修改為右對齊,那麼只需要修改它的className就為alignright就可以了。

 

3. 代碼縮寫

  CSS代碼縮寫可以提高你寫代碼的速度,精簡你的代碼量。在CSS裡面有不少可以縮寫的屬性,包括margin,padding,border,font,background和顏色值等,如果您學會了代碼縮寫,原本這樣的代碼:

 

li{
    font-family:Arial, Helvetica, sans-serif;
    font-size: 1.2em;
    line-height: 1.4em;
    padding-top:5px;
    padding-bottom:10px;
    padding-left:5px;
}

 

就可以縮寫為:

li{
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;
    padding:5px 0 10px 5px;
}

  如果您想更了解這些屬性要怎麼縮寫,可以參考《常用CSS縮寫語法總結》或者下載CSS-Shorthand-Cheat-Sheet.pdf 。

 

4. 利用CSS繼承

  如果頁面中父元素的多個子元素使用相同的樣式,那最好把他們相同的樣式定義在其父元素上,讓它們繼承這些CSS樣式。這樣你可以很好的維護你的代碼,並且還可以減少代碼量。那麼本來這樣的代碼:

#container li{ font-family:Georgia, serif; }
#container p{ font-family:Georgia, serif; }
#container h1{font-family:Georgia, serif; }

就可以簡寫成:

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

 

5. 使用多重選擇器

  你可以合並多個CSS選擇器為一個,如果他們有共同的樣式的話。這樣做不但代碼簡潔且可為你節省時間和空間。如:

h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

可以合並為

h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

 

6. 適當的代碼注釋

代碼注釋可以讓別人更容易讀懂你的代碼,且合理的組織代碼注釋,可使得結構更加清晰。你可以選擇做的樣式表的開始添加目錄:

/*------------------------------------
    1. Reset
    2. Header
    3. Content
    4. SideBar
    5. Footer
  ----------------------------------- */

  如此你代碼的結構就一目了然,你可以容易的查找和修改代碼。

  而對於代碼的主內容,也應適當的加以劃分,甚至在有必要的地方在對代碼加以注釋說明,這樣也有利於團隊開發:

/***	Header	***/ 
#header{ height:145px; position:relative; }
#header h1{ width:324px; margin:45px 0 0 20px; float:left;  height:72px;}

/***	Content	***/
#content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;}
#content h1{color:#F00}/* 設置字體顏色 */
#content .posts{ overflow:hidden; }
#content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }

/***	Footer	***/
#footer{ clear:both; padding:50px 5px 0; overflow:hidden;}
#footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }

 

7. 給你的CSS代碼排序

如果代碼中的屬性都能按照字母排序,那查找修改的時候就能更加快速:

/*** 樣式屬性按字母排序 ***/
div{
    background-color:#3399cc;
    color:#666;
    font:1.2em/1.4em Arial, Helvetica, sans-serif;
    height:300px;
    margin:10px 5px;
    padding:5px 0 10px 5px;
    width:30%;
    z-index:10;
}

 

8. 保持CSS的可讀性

  書寫可讀的CSS將會使得更容易查找和修改樣式。對於以下兩種情況,哪種可讀性更高,我想不言而明。

/*** 每個樣式屬性寫一行 ***/
div{
    background-color:#3399cc;
    color:#666;
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;
    height:300px;
    margin:10px 5px;
    padding:5px 0 10px 5px;
    width:30%;
    z-index:10;
}

/*** 所有的樣式屬性寫在同一行 ***/
div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif;  height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }

當對於一些樣式屬性較少的選擇器,我會寫到一行:

 

/*** 選擇器屬性少的寫在同一行 ***/
div{ background-color:#3399cc; color:#666;}

 

對於這個規則並非硬性規定,但無論您采用哪種寫法,我的建議是始終保持代碼一致。屬性多的分行寫,屬性少於3個可以寫一行。

 

9. 選擇更優的樣式屬性值

  CSS中有些屬性采用不同的屬性值,雖然達到的效果差不多,當性能上卻存在著差異,如

  區別在於border:0把

copyright © 萬盛學電腦網 all rights reserved