您可以通过向其传递参数来更改mixin的行为。
考虑一个简单的LESS代码片段:
.mixin(@a; @color) { ... } .line { .mixin(@color-new; #888); }
您可以使用 @ color-new 的不同值来使mixin的行为不同,如下面的代码所示。
.mixin(dark; @color) { color: darken(@color, 15%); } .mixin(light; @color) { color: lighten(@color, 15%); } @color-new: dark; .line { .mixin(@color-new; #FF0000); }
如果将 @ color-new 的值设置为dark,则它会以较暗的颜色显示结果,因为mixin定义与 dark 作为第一个参数匹配。
以下示例演示了在LESS文件中使用模式匹配:
<!doctype html> <head> <title>Pattern Matching</title> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <h2>Example of Pattern Matching</h2> <p class="myclass">Welcome to Tutorialspoint...</p> </body> </html>
接下来,创建文件 style.less 。
.mixin(dark; @color) { color: darken(@color, 15%); } .mixin(light; @color) { color: lighten(@color, 15%); } @color-new: dark; .myclass { .mixin(@color-new; #FF0000); }
您可以使用以下命令将 style.less 编译为 style.css :
lessc style.less style.css
接下来执行上面的命令,它将用下面的代码自动创建 style.css 文件:
.myclass { color: #b30000; }
让我们执行以下步骤,看看上面的代码如何工作:
将上面的html代码保存在 pattern-matching.html 文件中。
在浏览器中打开此HTML文件,将显示如下输出。
描述您可以使用默认函数将mixin与其他混合匹配进行匹配,并创建 else 或默认 语句。例子下面的例子演示了在LESS文件中使用条件混...
描述 hardlight函数与overlay函数类似,但颜色的作用相反。 它使用第二个参数执行 overlay()函数,以确定是否应该执行乘法或屏幕...
Loops语句允许我们多次执行一个语句或一组语句。 当递归mixin与 Guard表达式和模式匹配组合时,可以创建各种迭代/循环结构。例子...
通过使用CSS,我们可以控制文本样式。例如,我们可以更改文本颜色,我们可以控制文本对齐,缩进,字母间距等。文本颜色 color 属...