簡而言之,本文主要包括以下幾個方面的內(nèi)容:
核心原則
- 創(chuàng)建編程規(guī)范的目的就是為了保證協(xié)作開發(fā)的一致性。即使你對本文有不同的意見,也要保證整體開發(fā)的一致性。?
- 盡可能讓 Sass 代碼保持簡潔。除非是絕對需要,否則絕沒有必要構(gòu)建復雜的系統(tǒng)。?
- 請記住,有時候保持簡潔(KISS,Keep It Simple, Stupid)比減少重復(Don't Repeat Yourself)更重要。?
語法 & 格式
- 使用兩個空格代表縮進,而不是使用tab鍵。?
- 理想上,每行保持為 80 個字符寬度。?
- 根據(jù) CSS Guidelines 正確書寫 CSS 屬性。?
- 有意義的使用空格。?
字符串
- 強烈建議在樣式表頂部使用
@charset
指令聲明字符集。?
- 除非用作 CSS 標識符,否則應該使用單引號包裹字符串和 URL。?
數(shù)值
- 數(shù)字尾部不使用 0 ,并且強制在小于 1 的數(shù)字前使用 0。?
- 長度樣式屬性值為 0 時不要添加單位。?
- 使用括號包裹運算表達式。?
- 不使用幻數(shù)。?
顏色
- 顏色表示法的先后順序:關(guān)鍵字 > HSL > RGB > 十六進制。?
- 當減淡或加深顏色時,最好使用
mix(..)
替代 darken(..)
和 lighten(..)
。?
列表
- 使用逗號分隔列表。?
- 使用圓括號增加可讀性。?
- 列表尾部不要添加逗號(當它們是內(nèi)聯(lián)狀態(tài)時)。?
Maps
- 當 map 內(nèi)部包含多個鍵值對時,將它們分成多行。?
- 為了增加可維護性,map 內(nèi)部的最后一個鍵值對應該添加一個逗號。?
- 如果 map 的鍵是字符串,應該使用引號包裹起來。?
聲明順序
- 只要保持開發(fā)的一致性,無論哪種聲明順序(根據(jù)字母表或者類型排序)都是可以接受的。?
選擇器嵌套
- 減少選擇器嵌套。?
- 對偽類和偽元素使用選擇器嵌套。?
- 媒體查詢也可以嵌套到相關(guān)的選擇器當中。?
命名約定
注釋
- CSS 中充滿了機巧,當你有所疑問的時候,就應該寫下相關(guān)的注釋。?
- 對于變量、函數(shù)、混合宏和占位符創(chuàng)建的公開 API,使用 SassDoc 來注釋。?
變量
- 在公開 API 中使用
!default
標志變量,讓后期的修改更安全。?
- 不要在頂層使用
!global
標志,應為這可能會在未來和 Sass 語法有沖突。?
擴展
- 堅持擴展占位符,而不是擴展既有的 CSS 選擇器。?
- 盡可能少地擴展占位符,避免潛在的副作用。?