LESS - 传递规则集到Mixins

描述

分离的规则集包含规则集,例如属性,嵌套规则集,变量声明,mixins等.它存储在变量中并包含在另一个结构中;规则集的所有属性都被复制到该结构.

示例

以下示例显示如何将规则集传递给LESS文件中的mixin  :

passing_ruleset.htm

<!doctype html>
   <head>
      <link rel = "stylesheet" href = "style.css" type = "text/css" />
   </head>

   <body>
      <div class = "cont">
         <h2>Welcome to TutorialsPoint</h2>
         <p>The largest Tutorials Library on the web.</p>
      </div>
   </body>
</html>

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

style.less

@detached-ruleset: {
   .mixin() {
      font-family: "Comic Sans MS";
      background-color: #AA86EE;
   }
};

.cont {
   @detached-ruleset();
   .mixin();
}

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

lessc style.less style.css

执行上面的命令;它将使用以下代码自动创建 style.css 文件;

style.css

.cont {
   font-family: "Comic Sans MS";
   background-color: #AA86EE;
}

输出

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

  • 将上述html代码保存在 passing_ruleset.htm 文件中.

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

更少传递规则集到mixin

范围

分离规则集中的所有变量和mixin在调用或定义规则集的任何位置都可用.否则,默认情况下,调用者和定义范围都可用.当两个范围包含相同的mixin或变量时,声明范围具有优先级.分离的规则集主体在声明范围中定义.将分离的规则集从一个变量复制到另一个变量后,它不会更改其范围.

下表列出了范围的所有类型 :

Sr.No.类型和放大器;描述
1定义和调用者范围可见性

变量和mixin在分离的规则集中定义.

2Referencing不会修改分离的规则集范围

只要给出引用,规则集就不会访问任何新的范围.

3解锁将修改分离的规则集范围

分离的规则集可以通过导入到范围来访问范围.