Sass基礎學習No.4-Sass裡個性化的複製機@mixin
@mixin好用在哪?
透過使用@mixin來解決重複寫一段同樣程式碼的困擾。
假設<header>
跟<footer>
擁有一樣的背景顏色、文字大小、文字顏色,這時候就可以使用@mixin
來將這些東西包裹住後,在<header>
跟<footer>
的Sass中利用@include
來取得這個@mixin
。
使用方法
@mixin name
,後面的name就是這段@mixin的名稱。- 在.scss中,使用
@include
取得@mixin
值,而.sass則可直接使用”+
”(與@mixin名稱無須空格)。
1 | //.sass |
1 | //.scss |
@mixin帶參數,結果會…
1 | @mixin text-border($border-width,$border-color) |
這樣一來只要更改@mixin text-border(parameter1,parameter2)
的參數值,就可以讓<header>
跟<footer>
擁有不一樣的的線條寬度及顏色。
@mixin name(parameter1,parameter2,…)可擁有許多參數,參數也可以帶入設定的變數喔!
可以怎麼運用@mixin
利用@mixin結合RWD
Sass的@mixin
結合斷點的設計,與CSS寫RWD的順序不太一樣,在一般寫CSS斷點時,寫法是@media(斷點){各區塊樣式}
,但在寫Sass時,區塊在前,在匯入(@include
或+
)mixinName。
1 | //CSS |
1 | //.sass |
@content的用意
每個斷點的每個區塊都會有專屬於自己的樣式,這時候@content
就是來處裡這個問題,在匯入(@include
或+
)mixinName後,下方直接寫入所需樣式,@content
就會變所寫成所寫的樣式,成為這個斷點這個區塊的樣式,所以在每個區塊的@content
就是所寫的樣式。可以參考下方圖片說明
1 | //@mixin裡可以再匯入另一個@mixin |