在Sass中,如何使用符号AND引用两个父类以与元素复合?

在Sass中,如何使用符号AND引用两个父类以与元素复合?,sass,Sass,使用该方法,它可以工作,但不适用于两个父类 例如: .one, .two { @at-root a#{&} { color: blue; } } 产生: a.one, .two { color: blue; } 而不是预期的: a.one, a.two { color: blue; } 是否有任何方法可以使用类似的方法获得预期结果?您想改用选择器附加功能: .one, .two { @at-root #{selector-append(a, &)

使用该方法,它可以工作,但不适用于两个父类

例如:

.one, .two {
  @at-root a#{&} {
    color: blue;
  }
}
产生:

a.one, .two {
  color: blue;
}
而不是预期的:

a.one, a.two {
  color: blue;
}
是否有任何方法可以使用类似的方法获得预期结果?

您想改用选择器附加功能:

.one, .two {
  @at-root #{selector-append(a, &)} {
    color: blue;
  }
}
在父选择器上使用插值会导致Sass将其作为字符串计算,因为插值就是这样做的。只有当您只有一个选择器时,才可以使用它。selector append和所有其他selector-*函数将以选择器列表的形式对选择器进行评估,将所需项目附加到列表中的每个选择器。

是否改用selector append函数:

.one, .two {
  @at-root #{selector-append(a, &)} {
    color: blue;
  }
}

在父选择器上使用插值会导致Sass将其作为字符串计算,因为插值就是这样做的。只有当您只有一个选择器时,才可以使用它。selector append(选择器附加)和所有其他selector-*功能将选择器作为选择器列表进行评估,将所需项目附加到列表中的每个选择器。

或者您只需切换到触控笔:

.one,
 .two {
   a& {
   color: blue;
 }
}

或者您只需切换到触控笔:

.one,
 .two {
   a& {
   color: blue;
 }
}

很酷,谢谢。有很多简洁实用的Sass函数,很难全部记住,但是我了解的越多,它就越强大!很酷,谢谢。有很多简洁实用的Sass函数,很难全部记住,但是我了解的越多,它就越强大!我怀疑OP是否仅仅因为这一个问题就想切换框架。我怀疑OP是否仅仅因为这一个问题就想切换框架。