css - 在 LESS 中将条件传递给 mixins

标签 css less conditional-statements

首先,我使用的是 LESS 1.7(而且我无法更改它)。我的 less 文件中有以下 if-mixin,如果满足条件,它应该设置属性及其值:

.if(@condition, @property, @value) when (@condition){
   @{property}: @value !important;
}

如果我像这样将条件作为 true/false 传递,它会工作正常:

.column-header {
    font-family: 'Something';
    .if(true, color, green);
}

但是,我无法将条件作为表达式传递。如果我想传递一个比较,例如 2 > 1,我会得到一个解析错误:expected ')' got '>'。这是否不受支持(或者在 1.7 中不支持)?难道我做错了什么?任何解决方法?谢谢!

最佳答案

不确定是否可以将条件传递给 mixin。

但是你可以只写代码而不用 .if mixin:

.column-header {
    font-family: 'Something';

    & when (2 > 1) {
        color: green;
        font-size: 20px;
    }
}

关于css - 在 LESS 中将条件传递给 mixins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53341051/

相关文章:

html - 从 less 文件中获取编译后的 css

javascript - 淡化整个窗口 - 然后加载 URL?

html - 如何在 HTML 或 CSS 中指定表格列应具有最小宽度

less - 访问父元素

ruby-on-rails - Ruby 和 RoR 项目倾向于使用 Sass 而不是 LESS 的原因是什么?

c# - 如何根据特定条件用条目填充 Dictionary 对象?

ruby 什么是条件 : bar if foo vs foo and bar 的最佳方法

Powershell 跳过数组中的元素,如果它为空

javascript - innerHTML 会影响性能吗?

css - 2 个 DIV 与 float :right 重叠