close
文章出處

一、注釋規范 

1、文件頂部注釋(推薦使用) 

Css代碼 
  1. /*  
  2. * @description: 中文說明  
  3. * @author: name  
  4. * @update: name (2013-04-13 18:32)  
  5. */  


2、模塊注釋 

模塊注釋必須單獨寫在一行 

Css代碼 
  1. /* module: module1 by 張三 */  
  2. …  
  3. /* module: module2 by 張三 */  


3、單行注釋與多行注釋 

單行注釋可以寫在單獨一行,也可以寫在行尾,注釋中的每一行長度不超過40個漢字,或者80個英文字符。 

Css代碼 
  1. /* this is a short comment */  


多行注釋必須寫在單獨行內 

Css代碼 
  1. /*  
  2. * this is comment line 1.  
  3. * this is comment line 2.  
  4. */  


4、特殊注釋 

用于標注修改、待辦等信息 

Css代碼 
  1. /* TODO: xxxx by name 2013-04-13 18:32 */  
  2. /* BUGFIX: xxxx by name 2012-04-13 18:32 */  


5、區塊注釋 

對一個代碼區塊注釋(可選),將樣式語句分區塊并在新行中對其注釋。 

Css代碼 
    1. /* Header */  
    2. /* Footer */  
    3. /* Gallery */  

二、編碼規范

 

1. tab鍵用(必須)四個空格代替

2. 每個樣式屬性后(必須)加 ";"

方便壓縮工具"斷句"。

3. Class命名中(禁止)出現大寫字母,(必須)采用” - “對class中的字母分隔,如:

 /* 正確的寫法 */
 .hotel-title {
     font-weight: bold;
 }

 /* 不推薦的寫法 */
 .hotelTitle {
     font-weight: bold;
 }
  • 用"-"隔開比使用駝峰是更加清晰。
  • 產品線-產品-模塊-子模塊,命名的時候也可以使用這種方式(@Artwl)

 

4. 空格的使用,以下規則(必須)執行:

 .hotel-content {
     font-weight: bold;
 }
  • 選擇器與 之前(必須)要有空格
  • 屬性名的 后(必須)要有空格
  • 屬性名的 前(禁止)加空格

一個原因是美觀,其次IE 6存在一個bug, 戳bug

 

5.多選擇器規則之間(必須)換行

當樣式針對多個選擇器時每個選擇器占一行

 /* 推薦的寫法 */
 a.btn,
 input.btn,
 input[type="button"] {
     ......
 }

 

6. (禁止)將樣式寫為單行, 如

.hotel-content {margin: 10px; background-color: #efefef;}

單行顯示不好注釋,不好備注,這應該是壓縮工具的活兒~

 

7. (禁止)向 后添加單位, 如:

.obj {
    left: 0px;
}

只是為了統一。記住,綠色字表強調,不表強制!

 

 

8. (禁止)使用css原生import

使用css原生import有很多弊端,比如會增加請求數等....


9. 不要輕易改動全站級CSS和通用CSS庫。改動后,要經過全面測試。8. 避免使用filter

10. 避免在CSS中使用expression

11. 避免過小的背景圖片平鋪,小圖片(必須)sprite 合并

12. 層級(z-index)必須清晰明確,頁面彈窗、氣泡為最高級(最高級為999),不同彈窗氣泡之間可在三位數之間調整;普通區塊為10-90內10的倍數;區塊展開、彈出為當前父層級上個位增加,禁止層級間盲目攀比。

13. 背景圖片請盡可能使用sprite技術, 減小http請求, 考慮到多人協作開發, sprite按照模塊、業務、頁面來劃分均可。

 

14. (推薦)屬性的書寫順序, 舉個例子:

.hotel-content {
     /* 定位 */
     display: block;
     position: absolute;
     left: 0;
     top: 0;
     /* 盒模型 */
     width: 50px;
     height: 50px;
     margin: 10px;
     border: 1px solid black;
     / *其他* /
     color: #efefef;
 }
  • 定位相關, 常見的有:display position left top float 等
  • 盒模型相關, 常見的有:width height margin padding border 等
  • 其他屬性

    按照這樣的順序書寫可見提升瀏覽器渲染dom的性能

 

15. (推薦)當編寫針對特定html結構的樣式時,使用元素名 + 類名

/* 所有的nav都是針對ul編寫的 */
 ul.nav {
     ......
 }

".a div"和".a div.b",為什么后者好?如果需求有所變化,在".a"下有多加了一個div,試問,開始的樣式是不是會影響后來的div啊~

 

16. (推薦)IE Hack List

 /* 針對ie的hack */
 selector {
     property: value;     /* 所有瀏覽器 */ 
     property: value\9;   /* 所有IE瀏覽器 */ 
     property: value\0;   /* IE8 */
     +property: value;    /* IE7 */
     _property: value;    /* IE6 */
     *property: value;    /* IE6-7 */
 }

當使用hack的時候想想能不能用更好的樣式代替

 

17. (不推薦)ie使用filter,( 禁止)使用expression

這里主要是效率問題,應該當格外注意,咱們要少用燒CPU的東西~ 

18. (禁止)使用行內(inline)樣式

<p style="font-size: 12px; color: #FFFFFF">靖鳴君</p>

像這樣的行內樣式,最好用一個class代替。又如要隱藏某個元素,可以給他加一個class

.hide {
    display: none;
}

盡量做到樣式和結構分離~

 

19. (推薦)reset.css樣式

推薦網站:http://www.cssreset.com/

 

20.(禁止)使用"*"來選擇元素

/*別這樣寫*/
* {
    margin: 0;
    padding: 0;
}

這樣寫是沒有必要的,一些元素在瀏覽器中默認有margin或padding值,但是只是部分元素,沒有必要將所有元素的margin、padding值都置為0。

21. 鏈接的樣式,(務必)按照這個順序來書寫

a:link -> a:visited -> a:hover -> a:active

不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    AutoPoster 發表在 痞客邦 留言(0) 人氣()