css - LESS CSS 在另一个变量为真时定义变量

标签 css less

我在我的 CSS 的其他地方使用了保护表达式来实现 LESS 中的 IF 语句,但是当我尝试像这样声明变量时这些对我不起作用......

@neutral: false;
@warm: true;

when (@neutral = true) {
    @green: #91C95B;
    @red: #F15647;
    etc...
}
when (@warm = true) {
    @green: #91AD3C;
    @red: #BF2A23;
    etc...
}

这是我希望如何使用该变量的示例

h1 {
    color:@green;
}

这就是我希望它编译成 CSS 的方式

h1 {
    color: #91AD3C;
}

这对 LESS 是否可行,或者我是否需要修改我的代码以使用混合守卫?

最佳答案

您可以像这样使用Guarded Mixins:

@neutral: false;
@warm: true;

.color() when (@neutral) {
    @green: #91C95B;
}
.color() when (@warm) {
    @green: #91AD3C;
}
.color();


h1 {
    color:@green;
}

关于css - LESS CSS 在另一个变量为真时定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24802364/

相关文章:

javascript - 滚动后全屏 ImageView 无法正常运行

javascript - 如何使用 JavaScript 在 CSS 中定位元素

reactjs - Ant Design with sass in React with create-react-app

html - .less 和 css "padding: @reference"

css - 如何在现有元素上重新编译更少的文件

CSS:如何剪辑一个div

html - 如何为具有两个以上元素的移动设备创建 float 布局?

css - Bootstrap 3 两个响应行彼此相邻?

javascript - 正在编译 less modifyVars 时加载图标

.net - Resharper 和 .less 文件 - "go to file member"导航是否适用于 less 文件?