Sass运营商包括母公司';孩子们的班级';s规则

Sass运营商包括母公司';孩子们的班级';s规则,sass,Sass,当前代码: .parent-1 { .child { @include set-position-offset(10px, 20px); } } .parent-2 { .child { @include set-position-offset(20px, 30px); } } .parent-3 { .child { @include set-position-offset(30px, 40px);

当前代码:

.parent-1 {
    .child {
        @include set-position-offset(10px, 20px);
    }
}
.parent-2 {
    .child {
        @include set-position-offset(20px, 30px);
    }
}
.parent-3 {
    .child {
        @include set-position-offset(30px, 40px);
    }
}
有没有办法简化上述代码

喜欢下面的风格:

.child {
    {some operator}.parent-1 {
        @include set-position-offset(10px, 20px);
    }
    {some operator}.parent-2 {
        @include set-position-offset(20px, 30px);
    }
    {some operator}.parent-3 {
        @include set-position-offset(30px, 40px);
    }
}

一个尾随的符号-
选择器&{…}
-应该可以实现以下功能:

.child {
    .parent-1 & {
        @include set-position-offset(10px, 20px);
    }
    .parent-2 & {
        @include set-position-offset(20px, 30px);
    }
    .parent-3 & {
        @include set-position-offset(30px, 40px);
    }
}

您可以使用循环,如下所示:

@for $i from 1 through 3 {
  .parent-#{$i} {
    .child {
      @include set-position-offset(10px * $i, (10px * $i) + 10);
    }
  }
}