本文為觀看六角學院「 Sass 實戰全攻略 - 成為前 1% 的 CSS 頂尖好手」的紀錄。
簡介
什麼是 Sass
Sass(Syntactically Awesome Stylesheets)是一種 CSS 語言。 SassScript 是一個在 Sass 檔案中使用的小型 Scripting Language。
Sass包括兩套語法:
- .sass:用縮排來區分 block
- .scss:用大括號區分 block
以下面的 CSS 來說:
1 | .square { |
寫成 SCSS 會是像這樣:
1 | .square{ |
寫成 SASS 則是這樣:
(沒有大括號也沒有分號、冒號後面一定要有空白鍵。)
1 | .square |
Sass 直譯器會把 SassScript 直譯為 CSS 檔案,也可以針對 .sass 或 .scss 檔案的改動及時更新 CSS 檔案。
Sass 的官方直譯器是開源的並且用 Ruby 寫成,但是也有用 PHP 、 C 語言、 Java 等實作的版本( C 語言為 llibSass , Java 版本為 JSass )。
Sass 包含以下功能:
- Variables
- 變數以 $ 為開頭,以 : 賦值
- 型別
- 數值(可包含單位)
- 字串
- 顏色
- 布林值
- Nesting
- Mixins
- 類似 function
- 迴圈
- Selector inheritance
安裝編譯器
可以到 Sass 官網 找到編譯器的應用程式,例如 Prepos 。
或是使用編輯器的擴充套件,例如 VS Code 的 Live Sass Compiler 。
基礎語法
Parent Selector
SCSS 中可以用 & 選擇父元素,將 :hover 、 ::before 等寫在 block 中。
See the Pen SCSS Parent selector by Lynn (@clhuang224) on CodePen.
Variable
變數以 $ 開頭,可以賦予數值、字串、顏色、布林值及空值,也可以計算。
使用變數可以提高可讀性,易於大幅修改。
1 | $font-size-large: 24px; |
命名方式可以參考 twbs/bootstrap/scss/_variables.scss 。
配色觀念可以參考:
Build-in Modules
Sass 有一些內建的模組,例如:
- sass:color
- darken()
- lighten()
- sass:math
- math.round()
@import
待續