SCSS:使用for循环添加相邻的同级

时间:2019-02-20 13:16:58

标签: sass

我正在尝试使用scss for循环实现以下代码:

.box {
  margin-left: 0;
  margin-right: 2%;
}
.box + .box {
  margin-left: 2%;
  margin-right: 0;
}
.box + .box + .box {
  margin-left: 0;
  margin-right: 2%;
}
...

我在scss中的for循环如下:

.box {
  margin-left: 0;
  margin-right: 2%;

  @for $i from 1 through 4 {
      $sel: if($i == 1, &, selector-nest($sel, &)) !global;

      #{$sel} {
        @if ($i % 2 == 0) {
          margin-left: 0;
          margin-right: 2%;
        } @else {
          margin-left: 2%;
          margin-right: 0;
        }
      }


  }
}

结果是这样的:

.box {
  margin-left: 0;
  margin-right: 2%;
}
.box .box {
  margin-left: 2%;
  margin-right: 0;
}
.box .box .box {
  margin-left: 0;
  margin-right: 2%;
}
...

但是我不知道如何在类之间添加相邻的兄弟选择器。也许我做错了方法。有没有更好的方法可以做到这一点,或者我可以使用递归函数或类似的东西吗? :)

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这是您想要的吗?

Unable to perform linux-update-defconfig when using a defconfig rule