目录

Pattern-matching

描述 (Description)

您可以通过向其传递参数来更改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的值设置为暗,则它将以较暗的颜色显示结果,因为mixin定义与作为第一个参数的dark匹配。

例子 (Example)

以下示例演示了在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 IoWiki...</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;
}

输出 (Output)

请按照以下步骤查看上述代码的工作原理 -

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

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

模式匹配
↑回到顶部↑
WIKI教程 @2018