為了建立團隊彼此的默契,並定要制定一些規範來約束,使彼的溝通時間減少,默契增加。
coding style
- 使用 soft tab,2 space 來縮排。
- 大括號 { 前面要有空白。
- 正確 .classname {
- 錯誤 .classname{
- 冒號 : 後面要有空白。
- 正確 color: #333;
- 錯誤 color:#333;
- 統一使用 - 符號做命名連接。
- 使用 // 做註解,不會被 compile 出來。
- 最外層的層級結束時,加上 // class-name end(如果有N行,底下有繼承的 class name)
// Good example.classname { .subclassname { padding: 8px 10px; color: #333; background: rgba(0, 0, 0, .4); }} // classname end
coding order
mixin & extend 看類型放在相對應位置,自定義的樣式 mixin 跟 extend 放在最前面。
- include mixin & extend
- Position
- Box model
- Typographic
- Style
- other
comment(取自 MVCSS)
// *************************************
//
// LEVEL 1
// -> DESCRIPTION
//
// *************************************
// -------------------------------------
// LEVEL 2
// -------------------------------------
// ----- LEVEL 3 ----- //
// LEVEL 4
命名說明
把常用到的命名名稱,直接定規則下來。
前綴詞部分
- ap - application 使用於 layout。
- fn - function 表示功能。
layout
- wrap - 最外包裝,定義於 body 之下,包覆全體內容。
- header - 標頭。
- nav - 導覽列。
- sub-nav - 次要導航。
- menu - 菜單有別於 nav,偏向有下拉的選單使用。
- side - 側邊欄。
- main - 用來裝主要內容。
- article - 文章部分。
- container - 容器、集結箱之意,主要包覆內容外框。
- box - 外容器,對某個內容加上外容器使用,用定義裡面變化。
- inner - 內包裝,外包裝反之定義。
- footer - 註腳。
元件部分
- btn - 按鈕。
- tab - 分頁。
- fields - input, checkbox, radiobox …等。
- icon - 圖示
- notify - 提示窗
工具部分
- toolbar - 工具列。
- tool-tip - 提示。
搜尋
- search - 搜尋。
- search-input - 搜尋輸入。
- search-result - 搜尋結果。
廣告
- banner - 廣告。
版權資訊
- copyright - 版權所屬。
命名風格
每個人命名的方式,往往會造成合作上的困難,所以制定一套規則,會讓事情簡單很多。
開頭縮寫表示
用英文縮寫來更簡潔的描述 class 的命名,以及分類。
// -------------------------------------
// layout setting
// -------------------------------------
.ap-header { … }.ap-main { … }.ap-side { … }.ap-footer { … }
// -------------------------------------
// function setting
// -------------------------------------
.fn-head { … }.fn-tool { … }.fn-title { … }
以及常用的命名縮寫 button, column, grid…等。
.btn-xxx { … }.col-xxx { … }.g-xxx { … }
結尾縮寫表示
我們會對尺寸做縮寫,並用一個 - 做連結。
// size setting-xs (extra small)-s (small)-m (medium)-l (large)-xl (extra large)
狀態
動詞命名,由 js 觸發的動作,使用 is-接動詞。
.is-active.is-show.is-hide
如果要定義不同狀態的 is-xxx 就把要變更狀態的 class 後面加上 is-xxx。
.btn-primary.is-active { … }.tab-item.is-active { … }
出現跟消失用 show 跟 hide 不要用 in 跟 out,以免照成語意上的混淆。
圖像
圖像命名的方式
把縮寫至於後方
- xxx-bg 用於背景
- xxx-logo 用於 logo
- xxx-img 用於內容圖像
但是 icon 是例外,icon 的命名如下。
- picon-xxx 用於 icon