LESS - 模式匹配

描述

您可以通过向 mixin 传递参数来更改其行为。

考虑一个简单的 LESS 代码片段 −

.mixin(@a; @color) { ... }

.line {
   .mixin(@color-new; #888);
}

您可以对 @color-new 使用不同的值来实现不同的混合行为,如下面的代码所示。

.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 文件,将显示以下输出。

Pattern Matching

less_parametric_mixins.html