我尝试使像这样的可变数量的divs变暗
使用以下代码:

@mixin color-divs ($count, $baseName, $startcolor) {
    $color:  $startcolor;
    @for $i from 0 through $count {
        $color: darken($color, 9%);
        ##{$baseName}_#{$i} { background-color:$color; }
    }
}

我期望使用该代码,每次迭代都会更改变量$ color,但这并未按预期工作。拳头初始化后该值是固定的,并且每个元素都具有相同的颜色。

有没有解决该问题的方法,还是有解决混合问题的另一种方法?

最佳答案

您可以使用@for内的$ i来使颜色变暗,并将相应的类应用于div。希望这可以帮助。

SCSS

@mixin color-divs ($count, $baseName, $startcolor) {
    @for $i from 0 through $count {
        $background-color: darken($startcolor, $i * $i);
    .colored-div#{$i} {
      background: $background-color;
      height:100px;
      width:200px;
      float: left;
      margin-right: 5px;
    }
   }

}
 @include color-divs(5,'a',#ffd8b1);

HTML
<div class="colored-div1">a</div>
<div class="colored-div2">b</div>
<div class="colored-div3">c</div>
<div class="colored-div4">d</div>
<div class="colored-div5">e</div>

演示

参见demo

09-06 19:04