摘要:例行長度重要每行不得超過個字符,除非單行不可分割例如超長。例屬性前綴建議屬性的私有前綴按長到短排列,按對其例
* 約定: 以下事例代碼中所用單位均為 rem ,關于 rem 單位的使用可參照 《移動端web app自適應布局探索與總結》
1 命名 1.1 文件命名常用的文件命名:
全局:global.css
結構:layout.css
模塊:module.css
主題:themes.css
較長文件名必須以 - 中橫杠符連接,項目里面的私有樣式文件:項目名-業務模塊名稱.css。
例:
/* 項目名為clout */ /* good */ clout-home.css /* bad */ cloutHome.css;1.2 選擇器命名
(重要)在不是必須的情況下盡可能不用id選擇器。
選擇器名字全小寫,不得使用大寫。
較長選擇器名字之間使用-中橫桿連接。
當判斷容易出現命名沖突的時候,命名需按規則:模塊名-你的選擇器名,如果出現多層級選擇器的情況(應盡量避免超過3級的情況),每個層級間使用-中橫桿連接,不建議直接使用嵌套。
例:
/* 選擇器名稱 */ /* good */ .mydialog { font-size: .28rem; } /* bad */ .myDialog { font-size: .28rem; } /* 模塊及嵌套 */ /* good */.mydialog-hd-title { color: #3f3f3f; } /* bad */標題
.mydialog .hd .title { color: #3f3f3f; }標題
(建議)常用的選擇器命名:
頭部:header(hd)
標題:title
內容:container/content(cont)
頁面主題:body(bd)/main
尾部:footer(ft)
導航:nav
子導航:subnav
標簽頁:tab
側欄:sidebar
欄目:column/col
外圍控制布局:wrapper
左中右:left center right
菜單:menu
子菜單:submenu
列表:list
當前的:active
圖標:icon
提示信息:msg
小技巧:tips
2 代碼風格 2.1 縮進(重要)統一使用 4 個空格縮進,不得使用 tab 和 2 個空格(沒規范前的縮進方式不管)。
sublime -> tab鍵轉空格
eclipse、sts -> tab鍵轉空格
2.2 空格(重要)選擇器跟 { 之間必須包含空格。
例:
/* good */ .selector { } /* bad */ .selector{ }
(重要)屬性跟 : 之間不能有空格,: 跟屬性值之間必須包含空格。
例:
/* good */ .selector { color: #3f3f3f; } /* bad */ .selector { color:#3f3f3f; /* 或 color : #3f3f3f; */ }
(重要) >、+、~選擇器的兩邊各保留一個空格。
例:
/* good */ .header > .title { padding: .1rem; } label + input { margin-left: .04rem; } input:checked ~ .input-face { background-color: #ccc; } /* bad */ .header>.title { padding: .1rem; } ... ...2.3 換行
(重要)一個rule中有多個選擇器時,選擇器間必須換行。
例:
/* good */ p, div, input, textarea { font-size: .28rem; } /* bad */ p, div, input, textarea { font-size: .28rem; }
(重要)屬性值之間必須換行。
例:
/* good */ .content { padding: .1rem; color: #3f3f3f; } /* bad */ .content { padding: .1rem; color: #3f3f3f; }
(建議)對于超長的樣式屬性值,可在 空格 或 , 處換行。
例:
.selector { bakcground: url(veryveryveryveryveryLongUrlHere/image/icon.png) no-repeat 0 0; } .selector { background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0.04, rgb(88,94,124)), color-stop(0.52, rgb(115,123,162)) ) }2.4 行長度
(重要) 每行不得超過 120 個字符,除非單行不可分割(例如url超長)。
3 值與單位 3.1 文本(重要)文本內容必須用雙引號包圍。
例:
/* good */ body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; } /* bad */ body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; }3.2 數值
(重要)數值為 0 - 1 之間的小數,省略整數部分的 0 。
例:
/* good */ body { font-size: .28rem; } /* bad */ { font-size: 0.28rem; }3.3 單位
(重要)數值為 0 的屬性值須省略單位。
例:
/* good */ body { padding: 0 .1rem; } /* bad */ body { padding: 0rem .1rem; }3.4 url()
(重要) url() 函數中的路徑不加引號
例:
/* good */ body { background: url(bg.png); } /* bad */ body { background: url("bg.png"); }
(建議) url() 函數中的絕對路徑可省去協議名
例:
/* good */ body { background: url(//yunzhijia.com/images/bg.png); } /* bad */ body { background: url(http://yunzhijia.com/images/bg.png); }3.5 顏色
(重要)RGB顏色值必須使用十六進制形式 #3f3f3f。不允許使用 rgb()。
解釋:
帶有alpha(不透明度)的顏色信息可以使用 rgba()。使用 rgba() 時每個逗號后須保留一個空格。
例:
/* good */ .border { border: 1px solid #dce1e8; } .overlayer { background-color: rgba(0, 0, 0, .7); } /* bad */ .border { border: 1px solid rgb(220, 225, 232); } .overlayer { background-color: rgba(0,0,0,.7); }
(重要)顏色值可縮寫時,須使用縮寫形式。
例:
/* good */ .text-grey { color: #ccc; } /* bad */ .text-grey { color: #cccccc; }
(重要)顏色值不可使用顏色單詞。
例:
/* good */ .text-red { color: #f00; } /* bad */ .text-red { color: red; }
(建議)顏色值中的英文字母使用小寫,如果采用大寫字母,則必須保證同一項目內是一致的。
例:
/* good */ .border-color { border-color: #dce1e8; } /* bad */ .border-color { border-color: #DCE1E8; }4 通用 4.1 選擇器
(重要)DOM節點 id、class 屬性賦值時 = 之間不得有空格,屬性值必須用雙引號包圍,不得用單引號。
例:
/* good *//* bad */
(重要)如無必要,盡量不使用 id 選擇器,給 id、class 選擇器設置屬性時不需要添加類型選擇器進行限定。
例:
/* good */ #footer, .container { background-color: #fff; } /* bad */ div#footer, div.container { background-color: #fff; }
(重要) id 選擇器不需嵌套其他選擇器。
例:
4.2 屬性縮寫 /* good */ #tips { color: #bdbdbd; } /* bad */ .footer #tips { color: #bdbdbd; }
(建議)在可以使用縮寫的情況下,盡量使用屬性縮寫。
例:
/* good */ body { font: .28rem/1.25 Helvetica; } /* bad */ body { font-family: Helvetica; font-size: .28rem; line-height: 1.25; }
(建議)使用 border、margin、padding 等縮寫時,應注意確實需要設置多個方向的值時才使用縮寫,避免其他方向的有用值被覆蓋掉
例:
4.3 屬性書寫順序.wrap { padding: .1rem; border: 1px solid #dce1e8; } /* good */ .list-wrap { padding-left: .2rem; padding-right: .2rem; border-color: #ccc; } /* bad */ .list-wrap { padding: .2rem .1rem; border: 1px solid #ccc; }
(建議)按如下順序書寫,摘自http://www.zhihu.com/question/19586885/answer/48933504
位置屬性(position, top, right, z-index,display, float, overflow 等)
大小(width, height, padding, margin, border)
文字系列(font, line-height, letter-spacing,color- text-align等)
視覺(background, color, list-style等)
其他(animation, transition等)
例:
.footer-fixed { position: fixed; bottom: 0; left: 0; overflow: hidden; width: 100%; height: .5rem; padding: .1rem; border: 1px solid #dce1e8; box-sizing: border-box; font-size: .28rem; line-height: 1.25; background: #e9ecf1; color: #3f3f3f; -webkit-transition: color .5s; -moz-transition: color .5s; transition: color .5s; }4.4 變換與動畫
(重要) 使用 transition 時應指定 transiton-property,不用 all。
例:
/* good */ .tab { transition: color 1s, background-color: 1s; } /* bad */ .tab { transition: all 1s; }4.5 屬性前綴
(建議)屬性的私有前綴按長到短排列,按 : 對其
例:
/* good */ .tab { -webkit-transition: color .5s; -moz-transition: color .5s; transition: color .5s; } /* bad */ .tab { -webkit-transition: color .5s; -moz-transition: color .5s; transition: color .5s; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/111199.html
摘要:前端編碼規范之使用規范前端編碼規范之樣式編碼規范前端編碼規范之結構規范前端編碼規范之最佳實踐前端編碼規范之編碼規范命名的原則是通俗易懂,盡量保持不重復沖突,盡量不要用。我覺得應該避免出現出現這種方式用預處理器拼接出來的名稱,會生成。 前端編碼規范之:Git使用規范 前端編碼規范之:樣式(scss)編碼規范 前端編碼規范之:HTML結構規范 前端編碼規范之:Vue最佳實踐 前端編碼規范...
摘要:文檔規范和文檔必須采用編碼格式文檔必須使用的標準文檔格式編寫規范和的標簽屬性類名都必須使用小寫字母和的屬性類名命名必須具有語義化代碼必須保持文檔結構清晰,必須合理的進行代碼縮進文件禁止樣式表內引用文件編寫格式,樣式代碼保持一行,多個選擇器 HTMLCSS文檔規范 HTML和CSS文檔必須采用UTF-8編碼格式; HTML文檔必須使用HTML5的標準文檔格式; HTMLCSS編寫規范...
摘要:文檔規范和文檔必須采用編碼格式文檔必須使用的標準文檔格式編寫規范和的標簽屬性類名都必須使用小寫字母和的屬性類名命名必須具有語義化代碼必須保持文檔結構清晰,必須合理的進行代碼縮進文件禁止樣式表內引用文件編寫格式,樣式代碼保持一行,多個選擇器 HTMLCSS文檔規范 HTML和CSS文檔必須采用UTF-8編碼格式; HTML文檔必須使用HTML5的標準文檔格式; HTMLCSS編寫規范...
摘要:文檔規范和文檔必須采用編碼格式文檔必須使用的標準文檔格式編寫規范和的標簽屬性類名都必須使用小寫字母和的屬性類名命名必須具有語義化代碼必須保持文檔結構清晰,必須合理的進行代碼縮進文件禁止樣式表內引用文件編寫格式,樣式代碼保持一行,多個選擇器 HTMLCSS文檔規范 HTML和CSS文檔必須采用UTF-8編碼格式; HTML文檔必須使用HTML5的標準文檔格式; HTMLCSS編寫規范...
摘要:用兩個空格代替制表符這是唯一能保證在所有環境下獲得一致展現的方法。編輯器配置將你的編輯器按照下面的配置進行設置,以免常見的代碼不一致和差異用兩個空格代替制表符保存文件時刪除尾部的空白符設置文件編碼為在文件結尾添加一個空白行。 黃金定律 永遠遵循同一套編碼規范 - 可以是這里列出的,也可以是你自己總結的。如果發現規范中有任何錯誤,敬請指正。 HTML 語法 用兩個空格代替制表符 (ta...
導語: 隨著業務的增長和開發團隊的成員快速增加,其中很多新人來自于五湖四海各大門派,在編碼的風格和習慣中也出現各異。 通常在相互 codereview 時發現很多代碼上的問題,久而久之代碼出現了代碼難以維護的問題,甚至還會出現低級錯誤。 因此,我嘗試在前端代碼質量的管控上做了些探索,也總結了一些經驗分享給大家。 作者:鄭振波 本文大綱介紹 編碼規范 冗余文件與代碼 1. 編碼規范 在一些老項...
閱讀 3242·2021-10-27 14:20
閱讀 2524·2021-10-08 10:05
閱讀 1624·2021-09-09 09:33
閱讀 2901·2019-08-30 13:16
閱讀 1434·2019-08-29 18:34
閱讀 1169·2019-08-29 10:58
閱讀 1228·2019-08-28 18:22
閱讀 1225·2019-08-26 13:33