透過 Mixin,統整需要重複使用的 Sass 語法!
在一般程式中如果有需重複使用的程式,我們會使用 function 來進行統整後,需要執行時再呼叫這個 function;在 Sass 裡我們能夠透過 Mixin 來達到與 function 統整重複程式碼的效果。
基本寫法
Minix 撰寫方式
1 |
|
- 以
mixin
為開頭後,接著自訂 Mixin 名稱 - 如果需要帶參數,在 Mixin 名稱後加上括號包覆,如超過一個參數使用逗號分隔
- 在
{}
撰寫語法
呼叫 Mixin
1 |
|
- 以
@include
為開頭後,接著自訂 Mixin 名稱 - 如果需要帶資料進入,在 Mixin 名稱後加上括號包覆,超過一個參數使用逗號分隔
範例
不帶參數
假設今天我們想為放置標題的 h1
標籤以圖片取代文字呈現,SCSS 可以這麼撰寫:
1 |
|
我們將圖片取代文字語法撰寫在 hide-test 的 Mixin 內,並且當 h1
標籤需要使用這樣的機制時,就可以直接引入 hide-text。
另外一個好處是,後續如果有其它地方,需要使用圖片取代文字的機制就不用特別另外在撰寫一次。因此圖片取代文字的機制就不會是 h1
標籤專有,而是有需要就可以直接引入。
帶參數
假設我們需要在不同區域加上不同大小的圓形,可以這麼寫:
1 |
|
如此一來我們便能在不同的 div 區塊上,透過參數各自設定為不同大小與顏色的圓形。
Mixin + RWD 應用
透過 Mixin 能透非常方便管理 RWD 內容,如下:
1 |
|
我們能夠先撰寫不同大小裝置使用媒體查詢於各自 Mixin,其中在媒體查詢裡面使用到了 @content
,這個機制可以讓外部呼叫 Mixin 時,可以直接將語法撰寫至指定的 Mixin,保留一個給外部寫入的空間。
假設有個網頁頁首,手機版、平板與 PC 裝置背景顏色分別呈現為橘色、藍色與紅色,能夠這樣設置:
1 |
|
透過這樣撰寫,就會自動將語法帶入到 @content 內,進行不同樣式上渲染。
Mixin + import 組合技
搭配 使用 @import 讓你 Sass 切分檔案、維護管理更方便! 使用,可以將 Mixin 整理成一個檔案或多個檔案進行整合後,使用 @import 整合至主樣式檔:
1 |
|
先引入 Mixin 檔後再載入自訂 SCSS 檔,使由上而下編譯時能夠先識別 Mixin(如同變數),就能夠於後續使用 Mixin。
本站所有文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!