阅读(4999)
赞(26)
Less 将规则集传递给Mixins
2016-12-28 10:04:09 更新
描述
分离的规则集包含一个普通的规则集,如属性,嵌套规则集,变量声明,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 W3Cschool</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或variable时,声明范围获取优先级。 分离的规则集体在声明范围中定义。 在将分离的规则集从一个变量复制到另一个变量后,它不会更改其范围。
下表列出了所有类型的范围:
S.N. | 类型及描述 |
---|---|
1 | 定义和调用范围可见性 变量和mixin在分离的规则集中定义。 |
2 |
|
3 | 解锁将修改分离的规则集范围 分离的规则集可以通过导入到范围中来访问。 |