是否可以在SASS中为某种元素类型的父母设置样式?

Ste*_*eve 5 css sass compass-sass

我想做这个:

.classname {
  color: red

  a& {
    color: blue;
  }
}
Run Code Online (Sandbox Code Playgroud)

并将其编译为:

.classname {
   color: red;
}

a.classname {
   color: blue;
}
Run Code Online (Sandbox Code Playgroud)

有可用的语法来支持这个吗?我已经尝试使用a&,#{a&}和指南针功能#{append-selector("a", "&")},但他们不编译,a &确实,但结果很明显,在a .classname不是a.classname.

der*_*ann -1

对于 SASS 的嵌套语法来说,这实际上是不可能的。来自SASS 参考

\n\n
\n

然后,内部规则仅适用于外部规则\xe2\x80\x99s 选择器。

\n
\n\n

嵌套规则是语法糖,使 CSS 的后代选择器更易于编写,因为它们是最常见的 CSS 构造之一。虽然使用您的方法编写此类规则很好,但这并不是语法设计(或定义)的目的。

\n