教程 > LESS 教程 > Less 特征 阅读:15

LESS 将规则集传递给 Mixin

分离规则集包含属性、嵌套规则集、变量声明、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 迹忆客</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.html 文件中。
  • 在浏览器中打开此 HTML 文件,将显示以下输出。

Less mixin 规则集


作用域

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

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

序号 类型 描述
1 定义和调用者范围可见性 变量和 mixin 在分离的规则集中定义。
2 引用不会修改分离的规则集范围 仅提供参考,规则集不会访问任何新范围。
3 Unlocking 将修改分离的规则集范围 分离的规则集可以通过导入来访问范围。

查看笔记

扫码一下
查看教程更方便