一、帶引數的混合類
混合類的引數是選擇器呼叫時傳入的變數
.border-radius(@radius).section
.quote/**outputs**/.section
.quote
//設預設值
.border-radius(@radius: 5px)
.section
無論是否有引數,輸出的結果中不包含混合類的宣告資料。
引數可以使用分號;或者逗號,做間隔。建議使用分號,因為逗號有兩重含義,它可被解析為乙個混合類引數分隔符,也可以解析為css列表分隔符。
使用逗號分隔符會導致以逗號分隔的css列表無法作為乙個混合類引數,另一方面,如果混合類的呼叫或者宣告中含有多個分號,編譯器會將分號作為混合類的引數,將所有逗號作為css列表。
.mixin(@color).mixin(@color; @padding: 2)
.mixin(@color; @padding; @margin: 2)
.section/**outputs**/.section
呼叫混合類時,不止可以通過引數位置傳參,也可以通過引數名傳參。每個引數都可以通過它的名稱來引用,而不必按照特殊的順序。
.mixin(@color: black; @margin: 10px; @padding: 20px).section
.quote/**outputs**/.section
.quote
變數
.box-shadow(@x: 0; @y: 0; @blur: 1px; @color: #000).section/**outputs**/.section
.mixin(...)/**例項測試**/
.rest(@a;@rest)
.section
/**outputs**/
.section
當需要根據傳入的引數來改變混合類的行為時,模式匹配能實現這種功能。
/**基本寫法**/.mixin(@s; @color)
.class
/**pattern-matching**/
.mixin(dark; @color)
.mixin(light; @color)
.mixin(@_; @color)
@switch: light;
.class
/**outputs**/
.class
解析:第乙個定義的mixin不匹配,它要求dark做第乙個引數;
第二個定義的mixin匹配,它要求light做第乙個引數,而switch的值時light;
第三個定義的mixin匹配,第乙個引數可以為任意值。
只有匹配的混合類才會被使用,變數匹配繫結到任意值。
Less學習筆記
less類似於jquery,是乙個庫。是一種動態樣式語言,屬於css預處理語言的一種,它使用類似css的語法,為css賦予了動態語言的特性,如變數 繼承 運算 函式等,更方便css的編寫和維護。1 混合變數例如 border 如果.div也想用這個樣式直接寫 複製 div 複製 2 變數沒帶值 bo...
Less學習筆記
less類似於jquery,是乙個庫。是一種動態樣式語言,屬於css預處理語言的一種,它使用類似css的語法,為css賦予了動態語言的特性,如變數 繼承 運算 函式等,更方便css的編寫和維護。1 混合變數例如 border 如果.div也想用這個樣式直接寫 複製 div 複製 2 變數沒帶值 bo...
學習筆記 Less
less is more than css 少即是多,比css 什麼是less?nodejs庫 瀏覽器端使用 koala的基本使用less的注釋 內容是被編譯的,保留進.css檔案中 內容不被編譯,不出現在.css檔案中 宣告變數,以 開頭,如 變數名 值 w 500px h 300px box不帶...