1、註釋規範
一、文件頂部註釋(推薦使用)
css
二、模塊註釋
模塊註釋必須單獨寫在一行
html
三、單行註釋與多行註釋
單行註釋能夠寫在單獨一行,也能夠寫在行尾,註釋中的每一行長度不超過40個漢字,或者80個英文字符。
express
多行註釋必須寫在單獨行內
瀏覽器
四、特殊註釋
用於標註修改、待辦等信息
dom
五、區塊註釋
對一個代碼區塊註釋(可選),將樣式語句分區塊並在新行中對其註釋。
ide
2、編碼規範工具
1. tab鍵用(必須)四個空格代替性能
2. 每一個樣式屬性後(必須)加 ";"測試
方便壓縮工具"斷句"。網站
3. Class命名中(禁止)出現大寫字母,(必須)採用」 - 「對class中的字母分隔,如:
/* 正確的寫法 */ .hotel-title { font-weight: bold; } /* 不推薦的寫法 */ .hotelTitle { font-weight: bold; }
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