版權說明
本篇是將文章內容整理濃縮,作為學習之用,下文會一一附上原文連結,如有侵權,經告知之後會立即撤下
引用文章
- 課程
[week 13] 前端工具之二 - CSS 預處理器、Babel
- [FE201] 前端中階的總結筆記
- 內文說明怎樣安裝
使用 SASS(SCSS)建立自己的 CSS Library :: 2021 iThome 鐵人賽
- 講解 Sass 的觀念時順便做出一套 CSS Library
[CSS] Sass 入門教學-新手上路重點摘要(上) - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
- scss 的基礎寫法
參數與結構化 CSS
巢狀結構
1 | h1 { |
- CSS 屬性也可以巢狀
變數
1 | $main-color:red; |
&符號接起父層
使用&表示重複前面的 class
1 | h2{ |
模組化 CSS
mixin
- 跟
extend
的區別?- 可以引入參數
- 可以把常見的功能設定進去 mixin
- 跟
@function
的區別?- 與
@mixin
的不同之處,在於@function
只會回傳一個值,而@mixin
是回傳一段 CSS 程式碼
- 與
- 可帶入多個參數
1
2
3
4
5
6
7@mixin fontsizeColor($size, $color) {
font-size: 1rem * $size;
color: $color;
}
h2 {
@include fontsizeColor(1, $main-color);
}
extend 繼承
注意不加上’ . ‘ 而是用%來代替
1
2
3
4
5
6
7
8%title {
padding: 20px;
color: red;
}
h1 {
@extend %title;
}後面的設定可以覆蓋
Import
規劃檔案的結構
1
2
3
4
5
6(有底線代表不會被編譯成一支檔,合併使用)
_variable.scss //專門放相關變數
_mixin.scss //專門放相關mixin函式
_mixinRwd.scss //rwd media
_base.scss //全域設定SCSS
_index.scss //專案頁面SCSS建立一支 main.scss
1
2
3
4
5
6
7
8@import "variable";
@import "mixin";
@import "mixinRwd";
@import "base";
//你也可以建立分類的資料夾
@import "/page/index";
@import "abstracts/variables", "abstracts/functions", "abstracts/mixins";
Functions
可以得到一個計算的直
然後再做引用
與
@mixin
的不同之處,在於@function
只會回傳一個值,而@mixin
是回傳一段 CSS 程式碼
自動化 CSS
Loop
使用 @each
搭配 array
- 以逗號表示
center, start, end
- #{ } 引用列表的值
1 | $direction-types: center, start, end |
使用 @each
搭配 map
- 在括號以
參數:值
表示(center: center, start: flex-start, end: flex-end)
1 | $types: ( |
for 迴圈
- 使用時機:用於預先設定,或特效網站需產生密集大小值
1 | @for $i from 0 through 5 |
Condition
可參考官方文件。