一、注釋規范
1、文件頂部注釋(推薦使用)
- /*
- * @description: 中文說明
- * @author: name
- * @update: name (2013-04-13 18:32)
- */
2、模塊注釋
模塊注釋必須單獨寫在一行
- /* module: module1 by 張三 */
- …
- /* module: module2 by 張三 */
3、單行注釋與多行注釋
單行注釋可以寫在單獨一行,也可以寫在行尾,注釋中的每一行長度不超過40個漢字,或者80個英文字符。
- /* this is a short comment */
多行注釋必須寫在單獨行內
- /*
- * this is comment line 1.
- * this is comment line 2.
- */
4、特殊注釋
用于標注修改、待辦等信息
- /* TODO: xxxx by name 2013-04-13 18:32 */
- /* BUGFIX: xxxx by name 2012-04-13 18:32 */
5、區塊注釋
對一個代碼區塊注釋(可選),將樣式語句分區塊并在新行中對其注釋。
- /* 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樣式
20.(禁止)使用"*"來選擇元素
/*別這樣寫*/ * { margin: 0; padding: 0; }
這樣寫是沒有必要的,一些元素在瀏覽器中默認有margin或padding值,但是只是部分元素,沒有必要將所有元素的margin、padding值都置為0。
21. 鏈接的樣式,(務必)按照這個順序來書寫
a:link -> a:visited -> a:hover -> a:active
![]() |
不含病毒。www.avast.com |