LESS - Mixin Guards

描述

如果要匹配表达式上的简单值或参数数量,则可以使用保护.它与mixin声明相关联,并包含附加到mixin的条件.每个mixin都有一个或多个用逗号分隔的守卫;警卫必须括在括号内. LESS使用受保护的mixins而不是 if/else 语句,并执行计算以指定匹配的mixin.

下表描述了不同类型的mixins守卫以及描述.

Sr.No.类型&描述
1保护比较运算符

您可以使用比较运算符(=)来比较数字,字符串,标识符等.

2Guard逻辑运算符

您可以使用关键字来处理带有警卫的逻辑运算符.

3类型检查功能

它包含用于确定匹配mixins的值类型的内置函数.

4条件混合

LESS使用默认函数匹配mixin其他混合匹配.

示例

以下示例演示了在LESS文件中使用mixin警卫 :

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

Mixin Guards