LESS 模式匹配

由 bjcl 创建,youj 最后一次修改 2017-01-09

描述

您可以通过向其传递参数来更改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 。

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 文件:

style.css

.myclass {
  color: #b30000;
}


输出

让我们执行以下步骤,看看上面的代码如何工作:

  • 将上面的html代码保存在 pattern-matching.html 文件中。

  • 在浏览器中打开此HTML文件,将显示如下输出。


输出

W3Cschool学编程上微课-边学边练
二维码
建议反馈
二维码