首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在less中的条件执行

在less中的条件执行
EN

Stack Overflow用户
提问于 2012-10-16 00:00:32
回答 2查看 378关注 0票数 3

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

以下是我的代码

代码语言:javascript
复制
.my-mixing (@isInverse) {
    .navbar {
        when(@isInverse) {
            .navbar-inverse;
        }
    }
}

.my-mixing(true);

它不起作用。

有什么提示吗?

EN

回答 2

Stack Overflow用户

发布于 2012-10-16 00:38:26

你不能以你想要的方式使用when,它总是必须出现在混合声明的后面。如果变量与保护不匹配,则必须提供备用混合。

代码语言:javascript
复制
.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);

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

票数 3
EN

Stack Overflow用户

发布于 2012-10-16 00:36:12

给定以下html...

代码语言:javascript
复制
<div class="navbar">
    I am navbar!
</div>

这是一个可行的解决方案:

代码语言:javascript
复制
.navbar-inverse(@isInverse){
    // do nothing or whatever
}
.navbar-inverse(@isInverse) when(@isInverse){
    // apply styles for inverse navbar
}

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

但是,如果您能够显示您的html并更准确地说明您的问题,也许会有更合适的解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12899482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档