SASS如何使用符号将类添加到标记?

SASS如何使用符号将类添加到标记?,sass,Sass,如何编写这些sass声明,使其编译为a.btn\u primary\u cancel 我试过这个,但不起作用: .btn_primary_cancel { a& { line-height: 4rem; } } 应该是: a { &.btn_primary_cancel { line-height: 4rem; } } 将编译为: a.btn_primary_cancel { line-height: 4rem; } 如果你用#{&}

如何编写这些sass声明,使其编译为
a.btn\u primary\u cancel

我试过这个,但不起作用:

.btn_primary_cancel {

  a& {
    line-height: 4rem;
  }

}
应该是:

a {
  &.btn_primary_cancel {
    line-height: 4rem;
  }
}
将编译为:

a.btn_primary_cancel {
  line-height: 4rem;
}

如果你用#{&}把符号包起来,它会起作用,但不会像你想的那样

由于它位于类声明中,因此将创建以下内容:

.btn_primary_cancel {
  a#{&} {
    line-height: 4rem;
  }
}
输出至:

.btn_primary_cancel a.btn_primary_cancel {
  line-height: 4rem;
}
这就是说,我认为你不能做你所要求的。CSS层次结构根本不是这样工作的

是的!!你可以得到想要的结果。只需在根目录下使用
@

试试这个代码

.btn_primary_cancel {
  @at-root a#{&} {
    line-height: 4rem;
  }
}
它将编译为

a.btn_primary_cancel {
  line-height: 4rem;
}

请参见此操作-

我想将所有内容保持在。btn\u primary\u cancel。同一个类用于button标记和a标记,我只需要在a标记上使用特定的样式。然后使用相同的代码,但放置:a,button{&.btn\u primary\u cancel…}否,这将创建一个a.btn\u primary\u cancel和一个button.btn\u primary\u cancel声明检查此答案-