css – Sass:用@for循环改变颜色

前端之家收集整理的这篇文章主要介绍了css – Sass:用@for循环改变颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试像这样变暗可变数量的div
使用以下代码
  1. @mixin color-divs ($count,$baseName,$startcolor) {
  2. $color: $startcolor;
  3. @for $i from 0 through $count {
  4. $color: darken($color,9%);
  5. ##{$baseName}_#{$i} { background-color:$color; }
  6. }
  7. }

使用我期望的代码,变量$color会随着每次迭代而改变,但这并没有按预期工作.在第一次初始化之后,该值被修复,并且每个元素具有相同的颜色.

有没有办法解决这个问题,还是有另一种方法解决这个问题?

解决方法

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

SCSS

  1. @mixin color-divs ($count,$startcolor) {
  2. @for $i from 0 through $count {
  3. $background-color: darken($startcolor,$i * $i);
  4. .colored-div#{$i} {
  5. background: $background-color;
  6. height:100px;
  7. width:200px;
  8. float: left;
  9. margin-right: 5px;
  10. }
  11. }
  12.  
  13. }
  14. @include color-divs(5,'a',#ffd8b1);

HTML

  1. <div class="colored-div1">a</div>
  2. <div class="colored-div2">b</div>
  3. <div class="colored-div3">c</div>
  4. <div class="colored-div4">d</div>
  5. <div class="colored-div5">e</div>

演示

demo

猜你在找的CSS相关文章