less學習筆記五

2022-05-23 11:24:09 字數 1643 閱讀 4387

一、帶引數的混合類

混合類的引數是選擇器呼叫時傳入的變數

.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不帶...