If statement Less-如果条件可变

If statement Less-如果条件可变,if-statement,grid,less,If Statement,Grid,Less,我想做的是生成一个网格,其中包含较少的: .grid { /** * @link http://lesscss.org/functions/#list-functions-each */ @selectors: 2, 3, 4, 5; each(@selectors, { &.--cols-@{value} { @width: if((@value < 3), 100% / @value, 50%)

我想做的是生成一个网格,其中包含较少的:

.grid {
    /**
     * @link http://lesscss.org/functions/#list-functions-each
     */
    @selectors: 2, 3, 4, 5;
    each(@selectors, {
        &.--cols-@{value} {
            @width: if((@value < 3), 100% / @value, 50%); // of @value = 2 ?
            .list {
                flex-basis: ~"calc(@{width} - 1px)";
            }
            .item {
                max-width: ~"calc(@{width} - 1px)";
                width:     100%;
            }
        }
    });
}
但不知何故,所有列生成的calc50%-1px更少。所以问题是——我做错了什么

另外,你可以在这里测试:

它应该是:@width:if@value<3,50%,100%/@值;
多亏了@seven-phases-max.

这正是您的写作风格if@value<3100%/@值,50%;-对于@value=2,它返回100%/2;对于其他任何内容,它返回50%。也就是说,你可能想把它写上下。哈哈:我真蠢。谢谢,伙计。