SASS 的 @import @mixin @content @extend 與 @function
1.Import
SASS在檔名前面加上底線時,不會直接編譯成CSS,使用@import引入後,才會編譯。
2. Mixins
常見的mixin作法,要傳入的引數前面需加上$字號。
1 | |
使用時,輸入@include mixins_name即可引入CSS程式碼。
nested mixin
mixin中也可以@include mixin
1 | |
實際來用用看
1 | |
撰寫可以傳入不定數量引數(arguments)的mixin
使用$args...作為參數就可以傳入不定數量的arguments。
1 | |
現在你可以用@include mixin來節省程式碼了:D
1 | |
3. content
@content 的功用讓mixin可以撰寫自定的程式碼
4. Functions
@function與@mixin的不同之處在於@function只會回傳一個值,而@mixin是回傳一段CSS程式碼。宣告Function時以@function開頭:
1 | |
使用Function時前面不需要加上@。
1 | |
編譯後
1 | |
結論
幾點需要注意:
@import用來引入開頭為底線的SCSS檔案。如:_layout.scss。- mixin可以傳入配變數,使用時語法為
@include mixins_name使用。 - mixin搭配
@content使用,讓mixin可以輸入自定的程式碼。 @extend用來讓重複的程式碼只需要撰寫一次,裡面不可以傳入變數。- function使用時不需加上@,不熟悉的話可能會與CSS原本的property搞錯,需要特別注意。
有了這些基本知識就可以進一步的學習SASS與Compass了!