css - 更少的条件执行

标签 css less

通过使用 LESS ,我正在尝试在混合中执行条件

这是我的代码

.my-mixing (@isInverse) {
    .navbar {
        when(@isInverse) {
            .navbar-inverse;
        }
    }
}

.my-mixing(true);

它不起作用。
有什么提示吗?

最佳答案

您不能按照您尝试的方式使用 when,它总是必须出现在 mixin 声明之后。如果变量与守卫不匹配,则必须提供后备混入。

.my-mixing (@isInverse) {
    .navbar {
       .navbar-inverse(@isInverse);         
    }
}

.navbar-inverse(@a) when(@a){
   /* do something if it matches */
}
.navbar-inverse(@a) when not(@a){
  /* do something else (or nothing at all) */
}

.my-mixing(true);

我在第二个 mixin 中添加了 when not(@a),所以它本身不会被包含。您也可以将它放在 protected mixin 之前,以防止样式被覆盖。

关于css - 更少的条件执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899482/

相关文章:

css - 在 less css 中调用@font-face

sass - 将 less mixins 转换为 scss

html - Z-index 堆叠顺序

css - 将鼠标悬停在一个 DIV 上以缩放另一个 DIV

compiler-errors - 较少,使用CSS网址中的变量编译问题

visual-studio - VS2012.2 少支持

css - 带 LESS 的圆 Angular table

javascript - 选择列表中的 HTML 复选框

javascript - 元素锁定滚动纯 JavaScript 无 Jquery

html - 覆盖 2 个文本元素,同时垂直居中