編寫規範的css

來源:互聯網
上載者:User

標籤:des   style   blog   http   io   color   ar   os   使用   

一、注釋規範 

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

編寫規範的css

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.