SCSS:如何将两个类与和号一起使用?

dur*_*tle 3 nested sass ampersand

我有一些适用于主按钮的CSS规则,我做了这样的事情:

.my-btn {
  &--primary {
     padding: 10px;
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,我希望对“ sm”类的主按钮应用相同的规则,我可以执行以下操作:

.my-btn {
  &--primary, &--primary.my-btn--sm  {
    padding: 10px;
  }
}
Run Code Online (Sandbox Code Playgroud)

这对我有用。但是我也想对“ sm”使用“&”,就像这样:

.my-btn {
  &--primary, &--primary.&--sm  {
    padding: 10px;
  }
}
Run Code Online (Sandbox Code Playgroud)

可能吗?

ReS*_*ano 6

在这种情况下,解决方案可以使用变量:

.my-btn {
  $this: &;
  &--primary, &--primary#{$this}--sm  {
    padding: 10px;
  }
}
Run Code Online (Sandbox Code Playgroud)

或使用插值语法

.my-btn {
  &--primary, &--primary#{&}--sm  {
    padding: 10px;
  }
}
Run Code Online (Sandbox Code Playgroud)