如何使用类似于 :nth-child(n) 伪选择器的元素+元素创建 SCSS 循环?

How to create a SCSS loop with element+element similar to :nth-child(n) pseudo selector?

目前我有一个从 1 循环到 n 的 SCSS 代码,并应用特定于该元素的 属性。它看起来像这样:

@for $i from 1 through 6 {
.element:nth-child(#{$i}n) {
    position:absolute;
    left:10*$i;
    top:5*$i;
    }
}

但是,我发现我定位的一些浏览器不支持 nth-child 伪元素。因此,我想使用元素+元素选择器。

如何实现与上面示例代码相同的旧浏览器可以理解的效果?谢谢

Demo 在 sassmeister 上。

Scss代码

$selector-name: '.element';
$selector: $selector-name;

@for $i from 1 through 6 {
  #{$selector} {
    position: absolute;
    left: 10 * $i;
    top: 5 * $i;
  }

  $selector: $selector + ' + ' + $selector-name;
}

编译为

.element {
  position: absolute;
  left: 10;
  top: 5;
}

.element + .element {
  position: absolute;
  left: 20;
  top: 10;
}

.element + .element + .element {
  position: absolute;
  left: 30;
  top: 15;
}

.element + .element + .element + .element {
  position: absolute;
  left: 40;
  top: 20;
}

.element + .element + .element + .element + .element {
  position: absolute;
  left: 50;
  top: 25;
}

.element + .element + .element + .element + .element + .element {
  position: absolute;
  left: 60;
  top: 30;
}

不要忘记将像素添加到 leftright 属性。