整个声明可以在Less中存储为@variable值吗?

时间:2016-04-17 09:52:31

标签: less

CMS模块中的所有较少变量 可编辑,并分配给 Less compiler 。它是有效的,如果我只使用颜色 font-size 等值:

body {
    background-color: @bgColor;
}  

我为自定义更少创建了另一个字段,我想在Less文件的末尾添加,例如:

body {
    background-color: @bgColor;
}  
@customLess /* desired OUTPUT: body { color: white; }*/

不幸的是,这导致ParseError

我想避免合并现有的Less和自定义Less。我想,我不是在寻找mixins。

是否可以将整个声明放入@variable

1 个答案:

答案 0 :(得分:2)

将整个声明(包括选择器,属性+值对)放在变量中是非常可能的。这些被称为detached rulesets

在调用它们时,必须添加大括号(())。如果不是,则调用将失败并导致编译错误。以下是官方网站的摘录。

  

分离的规则集调用后的括号是必需的。调用@ detached-ruleset;不行。

@customLess: {
  body{
  color: white;
    }
  };
@bgColor: red;
body {
  background-color: @bgColor;
}  
@customLess();