鍍金池/ 教程/ HTML/ 總結(jié)概要
簡(jiǎn)介
語(yǔ)法格式
循環(huán)
響應(yīng)式設(shè)計(jì)和斷點(diǎn)
擴(kuò)展
條件語(yǔ)句
結(jié)構(gòu)
注釋
工具
混合宏
變量
命名約定
警告和錯(cuò)誤
總結(jié)概要

總結(jié)概要

簡(jiǎn)而言之,本文主要包括以下幾個(gè)方面的內(nèi)容:

核心原則

  • 創(chuàng)建編程規(guī)范的目的就是為了保證協(xié)作開(kāi)發(fā)的一致性。即使你對(duì)本文有不同的意見(jiàn),也要保證整體開(kāi)發(fā)的一致性。?
  • 盡可能讓 Sass 代碼保持簡(jiǎn)潔。除非是絕對(duì)需要,否則絕沒(méi)有必要構(gòu)建復(fù)雜的系統(tǒng)。?
  • 請(qǐng)記住,有時(shí)候保持簡(jiǎn)潔(KISS,Keep It Simple, Stupid)比減少重復(fù)(Don't Repeat Yourself)更重要。?

語(yǔ)法 & 格式

  • 使用兩個(gè)空格代表縮進(jìn),而不是使用tab鍵。?
  • 理想上,每行保持為 80 個(gè)字符寬度。?
  • 根據(jù) CSS Guidelines 正確書寫 CSS 屬性。?
  • 有意義的使用空格。?

字符串

  • 強(qiáng)烈建議在樣式表頂部使用 @charset 指令聲明字符集。?
  • 除非用作 CSS 標(biāo)識(shí)符,否則應(yīng)該使用單引號(hào)包裹字符串和 URL。?

數(shù)值

  • 數(shù)字尾部不使用 0 ,并且強(qiáng)制在小于 1 的數(shù)字前使用 0。?
  • 長(zhǎng)度樣式屬性值為 0 時(shí)不要添加單位。?
  • 使用括號(hào)包裹運(yùn)算表達(dá)式。?
  • 不使用幻數(shù)。?

顏色

  • 顏色表示法的先后順序:關(guān)鍵字 > HSL > RGB > 十六進(jìn)制。?
  • 當(dāng)減淡或加深顏色時(shí),最好使用 mix(..) 替代 darken(..)lighten(..)?

列表

  • 使用逗號(hào)分隔列表。?
  • 使用圓括號(hào)增加可讀性。?
  • 列表尾部不要添加逗號(hào)(當(dāng)它們是內(nèi)聯(lián)狀態(tài)時(shí))。?

Maps

  • 當(dāng) map 內(nèi)部包含多個(gè)鍵值對(duì)時(shí),將它們分成多行。?
  • 為了增加可維護(hù)性,map 內(nèi)部的最后一個(gè)鍵值對(duì)應(yīng)該添加一個(gè)逗號(hào)。?
  • 如果 map 的鍵是字符串,應(yīng)該使用引號(hào)包裹起來(lái)。?

聲明順序

  • 只要保持開(kāi)發(fā)的一致性,無(wú)論哪種聲明順序(根據(jù)字母表或者類型排序)都是可以接受的。?

選擇器嵌套

  • 減少選擇器嵌套。?
  • 對(duì)偽類和偽元素使用選擇器嵌套。?
  • 媒體查詢也可以嵌套到相關(guān)的選擇器當(dāng)中。?

命名約定

  • 堅(jiān)持連字符分隔的命名方式。?

注釋

  • CSS 中充滿了機(jī)巧,當(dāng)你有所疑問(wèn)的時(shí)候,就應(yīng)該寫下相關(guān)的注釋。?
  • 對(duì)于變量、函數(shù)、混合宏和占位符創(chuàng)建的公開(kāi) API,使用 SassDoc 來(lái)注釋。?

變量

  • 在公開(kāi) API 中使用 !default 標(biāo)志變量,讓后期的修改更安全。?
  • 不要在頂層使用 !global 標(biāo)志,應(yīng)為這可能會(huì)在未來(lái)和 Sass 語(yǔ)法有沖突。?

擴(kuò)展

  • 堅(jiān)持?jǐn)U展占位符,而不是擴(kuò)展既有的 CSS 選擇器。?
  • 盡可能少地?cái)U(kuò)展占位符,避免潛在的副作用。?