将规则集传递给Mixins(Passing Rulesets to Mixins)
优质
小牛编辑
134浏览
2023-12-01
描述 (Description)
分离的规则集包含规则集,例如属性,嵌套规则集,变量声明,mixins等。它存储在变量中并包含在另一个结构中; 规则集的所有属性都将复制到该结构。
例子 (Example)
以下示例显示如何将规则集传递给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 xnip</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;
}
输出 (Output)
请按照以下步骤查看上述代码的工作原理 -
将以上html代码保存在passing_ruleset.htm文件中。
在浏览器中打开此HTML文件,将显示以下输出。
Scoping
在调用或定义规则集的任何位置,分离的规则集中的所有变量和混合都可用。 否则,默认情况下调用者和定义范围都可用。 当两个范围包含相同的mixin或变量时,声明范围具有优先级。 分离的规则集主体在声明范围中定义。 将分离的规则集从一个变量复制到另一个变量后,它不会更改其范围。
下表列出了所有类型的范围 -
Sr.No. | 类型和描述 |
---|---|
1 | 定义和来电范围可见性 变量和mixin在分离的规则集中定义。 |
2 | 引用不会修改分离的规则集范围 仅提供引用,规则集不会访问任何新范围。 |
3 | 解锁将修改分离的规则集范围 分离的规则集可以通过导入到范围来访问范围。 |