Less Mixin Guards


描述

如果你想在表达式上匹配简单的值或参数数量,那么你可以使用Guards。 它与mixin声明相关联,并包括附加到mixin的条件。 每个mixin将有一个或多个由逗号分隔的防护,并且guard必须括在括号中。 LESS使用Guards的mixins而不是if / else语句,并执行计算以指定匹配的mixin。

下表描述了不同类型的mixins guard以及描述。

S.N.类型及描述
1 Guard比较运算符

您可以使用比较运算符(=)来比较数字,字符串,标识符等。
2 Guard逻辑运算符

您可以使用关键字处理带有Guards的逻辑运算符。
3 类型检查函数

它包含内置函数来确定匹配mixins的值类型。
4 LESS Mixin Guards


LESS使用默认函数将mixin与其他mixing进行匹配。

例子

下面的例子演示了在LESS文件中使用mixin guard:

<!doctype html>
<head>
   <title>Mixin Guards</title>
   <link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
   <h2>Example of Mixin Guards</h2>
   <p class="class1">Hello World...</p>
   <p class="class2">Welcome to CodingDict...</p>
</body>
</html>

接下来,创建文件 style.less。

style.less

.mixin (@a) when (lightness(@a) >= 50%) {
   font-size: 14px;
}
.mixin (@a) when (lightness(@a) < 50%) {
   font-size: 16px;
}
.mixin (@a) {
   color: @a;
}
.class1 {
   .mixin(#FF0000)
}
.class2 {
   .mixin(#555)
}

您可以使用以下命令将 style.less 编译为 style.css :

lessc style.less style.css

接下来执行上面的命令,它将用下面的代码自动创建 style.css 文件:

style.css

.class1 {
  font-size: 14px;
  color: #FF0000;
}
.class2 {
  font-size: 16px;
  color: #555;
}

输出

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

  • 将上面的html代码保存在 mixin-guard.html 文件中。
  • 在浏览器中打开此HTML文件,将显示如下输出。

less guards