學習Sass @mixin 與 @include
導讀 | Sass (英文全稱:Syntactically Awesome Stylesheets) 是一個最初由 Hampton Catlin 設計並由 Natalie Weizenbaum 開發的層疊樣式表語言。 |
@mixin 指令允許我們定義一個可以在整個樣式表中重複使用的樣式。
@include 指令可以將混入(mixin)引入到文件中。
混入(mixin)透過 @mixin 指令來定義。 @mixin name { property: value; property: value; ... }
以下例項建立一個名為 "important-text" 的混入:
Sass 程式碼:
@mixin important-text { color: red; font-size: 25px; font-weight: bold; border: 1px solid blue; }
注意:Sass 的連線符號 - 與下劃線符號 _ 是相同的,也就是 @mixin important-text { } 與 @mixin important_text { } 是一樣的混入。
@include 指令可用於包含一混入:
Sass @include 混入語法:
selector { @include mixin-name; }
因此,包含 important-text 混入程式碼如下:
例項
.danger { @include important-text; background-color: green; }
將以上程式碼轉換為 CSS 程式碼,如下所示:
Css 程式碼:
.danger { color: red; font-size: 25px; font-weight: bold; border: 1px solid blue; background-color: green; }
混入中也可以包含混入,如下所示:
例項
@mixin special-text { @include important-text; @include link; @include special-border; }
向混入傳遞變數
混入可以接收引數。
我們可以向混入傳遞變數。
定義可以接收引數的混入:
例項
/* 混入接收兩個引數 */ @mixin bordered($color, $width) { border: $width solid $color; } .myArticle { @include bordered(blue, 1px); // 呼叫混入,並傳遞兩個引數 } .myNotes { @include bordered(red, 2px); // 呼叫混入,並傳遞兩個引數 }
以上例項的混入引數為設定邊框的屬性 (color 和 width) 。
將以上程式碼轉換為 CSS 程式碼,如下所示:
Css 程式碼:
.myArticle { border: 1px solid blue; } .myNotes { border: 2px solid red; }
混入的引數也可以定義預設值,語法格式如下:
例項
@mixin bordered($color: blue, $width: 1px) { border: $width solid $color; }
在包含混入時,你只需要傳遞需要的變數名及其值:
例項
@mixin sexy-border($color, $width: 1in) { border: { color: $color; width: $width; style: dashed; } } p { @include sexy-border(blue); } h1 { @include sexy-border(blue, 2in); }
將以上程式碼轉換為 CSS 程式碼,如下所示:
Css 程式碼:
p { border-color: blue; border-width: 1in; border-style: dashed; } h1 { border-color: blue; border-width: 2in; border-style: dashed; }
有時,不能確定一個混入(mixin)或者一個函式(function)使用多少個引數,這時我們就可以使用 ... 來設定可變引數。
例如,用於建立盒子陰影(box-shadow)的一個混入(mixin)可以採取任何數量的 box-shadow 作為引數。
例項
@mixin box-shadow($shadows...) { -moz-box-shadow: $shadows; -webkit-box-shadow: $shadows; box-shadow: $shadows; } .shadows { @include box-shadow(0px 4px 5px #666, 2px 6px 10px #999); }
將以上程式碼轉換為 CSS 程式碼,如下所示:
Css 程式碼:
.shadows { -moz-box-shadow: 0px 4px 5px #666, 2px 6px 10px #999; -webkit-box-shadow: 0px 4px 5px #666, 2px 6px 10px #999; box-shadow: 0px 4px 5px #666, 2px 6px 10px #999; }
瀏覽器字首使用混入
瀏覽器字首使用混入也是非常方便的,如下例項:
例項
@mixin transform($property) { -webkit-transform: $property; -ms-transform: $property; transform: $property; } .myBox { @include transform(rotate(20deg)); }
將以上程式碼轉換為 CSS 程式碼,如下所示:
Css 程式碼:
.myBox { -webkit-transform: rotate(20deg); -ms-transform: rotate(20deg); transform: rotate(20deg); }
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2738940/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sass中的mixin,function,extendFunction
- 使用 SASS Mixin 編寫 clean code
- sass的mixin,extend,placeholder,functionFunction
- sass學習
- react 學習--使用MixinReact
- sass學習篇
- 使用 Sass mixin 實現 CSS 的居中效果CSS
- 學習一下Sass @extend 與 繼承繼承
- 學習Sass 巢狀規則與屬性巢狀
- 學習如何安裝Sass
- sass的學習記錄
- #include與#include區別
- SASS&Compass語法學習
- 從bootstrap原始碼中學習Sass(一)boot原始碼
- vue.js3 學習筆記 (一)——mixin 混入Vue.jsS3筆記
- include與require、require_once與include_once的區別UI
- webstrom配置sass與lessWeb
- sass與gulp應用
- [php]require&require_once&include&include_once的用法與區別PHPUI
- 前端學習之路之自適應設計(sass語法)前端
- LESS與SASS的區別
- SASS入門與實踐
- Vue原始碼學習(七):合併生命週期(混入Vue.Mixin)Vue原始碼
- SCSS @mixinCSS
- include指令和include動作
- PHP autoload與include效能比較PHP
- vue中sass與SCSS的區別VueCSS
- 好程式設計師web前端培訓分享JavaScript學習筆記SASS程式設計師Web前端JavaScript筆記
- Vue Mixin混入Vue
- [sass 基礎] .sass 和 .scss 區別CSS
- SCSS @mixin傳參CSS
- Python mixin模式Python模式
- 學習BFC與IFC
- “管理”與“學習”薦
- #include <> ““區別
- #include的作用
- Sass學習筆記–初步瞭解函式、運算、條件判斷及迴圈筆記函式
- include "head_file" 和 include <head_file>