標籤:des style blog http io color ar os 使用
一、注釋規範
1、檔案頂部注釋(推薦使用)
Css代碼
- /*
- * @description: 中文說明
- * @author: name
- * @update: name (2013-04-13 18:32)
- */
2、模組注釋
模組注釋必須單獨寫在一行
Css代碼
- /* module: module1 by 張三 */
- …
- /* module: module2 by 張三 */
3、單行注釋與多行注釋
單行注釋可以寫在單獨一行,也可以寫在行尾,注釋中的每一行長度不超過40個漢字,或者80個英文字元。
Css代碼
- /* this is a short comment */
多行注釋必須寫在單獨行內
Css代碼
- /*
- * this is comment line 1.
- * this is comment line 2.
- */
4、特殊注釋
用於標註修改、待辦等資訊
Css代碼
- /* TODO: xxxx by name 2013-04-13 18:32 */
- /* BUGFIX: xxxx by name 2012-04-13 18:32 */
5、區塊注釋
對一個代碼區塊注釋(可選),將樣式語句分區塊並在新行中對其注釋。
Css代碼
- /* Header */
- /* Footer */
- /* 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. (禁止)向 0 後添加單位, 如:
.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