【问题标题】:Sass Mixin Modulo not working correctlySass Mixin Modulo 无法正常工作
【发布时间】:2013-12-03 06:35:08
【问题描述】:

我想编写一个 sass mixin,从 1 到 100 每 5 步输出一个特定的类。但我无法让模运算符以某种方式工作。根本没有创建任何类。

这是我的代码

@mixin flex_percentage($className) {
    @for $i from 1 through 100 {
        @if $i % 5 != 0 {
            .#{$className}#{$i} {
                width: $i * 1%;    
            }
        }
    }
}
@include flex_percentage(p);

我也尝试了$i mod(5),但它输出了所有 100 个类。

我想要一个类似的输出

.p5 {
    width: 5%;
}
.p10 {
    width: 10%;
}
.p15 {
    width: 15%;
}

【问题讨论】:

    标签: css loops sass mixins modulo


    【解决方案1】:

    @if $i % 5 != 0 { 应该是这样的:

    @if $i % 5 == 0 {
    

    区别在于if 子句中的!===。您的原始代码实际上输出了每个类除了那些是 5 的倍数的类。如果我们将其更改为 ==,那么只有那些是 5 的倍数的类被输出。

    现场示例:http://sassmeister.com/gist/7550271

    【讨论】:

    • 谢谢凯蒂!!我忙于弄清楚如何在 sass 中做模数,以至于我错过了显而易见的.. :)
    • 没有问题!很好的例子 - 我认为人们会从中受益。
    猜你喜欢
    • 2011-09-27
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2016-12-01
    相关资源
    最近更新 更多