首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SASS Mixin重写&(符号)

SASS Mixin重写&(符号)
EN

Stack Overflow用户
提问于 2017-05-10 17:24:19
回答 1查看 1.3K关注 0票数 5

我正在尝试编写一个混合程序,它将在输出时修改父选择器。这样做的想法是,在调用混音的情况下,父选择器需要对其进行字符串替换。我有大部分的工作,但我不知道如何吞下&

代码语言:javascript
复制
.test {
  @include alt_parent() {
    content: 'test';
  }
}

混合器是这样的:

代码语言:javascript
复制
@mixin alt_parent() {
  #{str-replace(unquote("#{selector_append(&)}"), "s", "x")} {
    @content;
  }
}

我的字符串替换工作,所以这不是问题。我得到的是这个(我明白为什么):

代码语言:javascript
复制
.test .text {
  content: 'test';
}

我想要的是:

代码语言:javascript
复制
.text {
  content: 'test';
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-10 17:44:02

您必须使用@at-root指令来避免自动包含由&表示的选择器。

http://alwaystwisted.com/articles/2014-03-08-using-sass-33s-at-root-for-piece-of-mind

代码语言:javascript
复制
@mixin alt_parent($parent) {
    @at-root {
        #{str-replace(unquote("#{selector_append(&)}"), "s", "x")} {
            @content;
        }
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43899068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档