sass& mixins:附加没有空格的类名

时间:2018-03-15 23:18:06

标签: css sass

你好可爱的stackoverflow社区。我是一名新的编码员,并且是sass& amp;的新手。中级css主题。我正在一个有主题的网站上工作,我正在尝试自定义我们正在使用的第三方调查小部件的设计。

我们的主题是通过mixin控制的,如下所示:

@mixin themify() {
 // Iterate over the themes
 @each $theme-name, $theme in $themes {
   $current-theme: $theme !global;
   @if $theme-name == ‘abc’ {
     @content;
   } @else {
     .theme-#{$theme-name} & {
       @content;
      }
    }
  }
}

主题名称位于正文标记&由每个元素继承。所以可以轻松地针对所有孩子。但是,对于调查,我需要使用针对正文的特定数据属性的选择器来设置样式。例如,此选择器成功地允许我定位调查元素:

Body[data-survey-number='77777'] div#a .b {
    // styles successfully applied!
} 

但是当我想使用theify mixin时:

Body[data-survey-number='77777'] div#a .b {
    @include themify {
        background-color:theme-get(secondary-color);
}
它打破了。我看到sass汇编为:

theme-name Body[data-survey-number='77777'] div#a .b {
    // never applies to anything :(
}

然而,当一个选择器编译成这个(在末尾附加没有空格)时,有效的是:

Body[data-survey-number='77777']theme-name div#a .b {
    // this works! :)
}

我想知道如何才能得到这个。也许创造一个新的混合?

我感谢所有/任何想法。

0 个答案:

没有答案