SASS-Mixin重写&;(安培)
我正在尝试编写一个mixin,它将修改输出上的父选择器。其思想是,在调用mixin的情况下,父选择器需要对其进行字符串替换。我的大部分工作正常,但我不知道如何吞下SASS-Mixin重写&;(安培),sass,compass-sass,compass,Sass,Compass Sass,Compass,我正在尝试编写一个mixin,它将修改输出上的父选择器。其思想是,在调用mixin的情况下,父选择器需要对其进行字符串替换。我的大部分工作正常,但我不知道如何吞下& .test { @include alt_parent() { content: 'test'; } } mixin是这样的: @mixin alt_parent() { #{str-replace(unquote("#{selector_append(&)}"), "s", "x")} { @
&
.test {
@include alt_parent() {
content: 'test';
}
}
mixin是这样的:
@mixin alt_parent() {
#{str-replace(unquote("#{selector_append(&)}"), "s", "x")} {
@content;
}
}
我有字符串替换工作,所以这不是问题。我得到的是(我理解原因):
我想要的是:
.text {
content: 'test';
}
您必须使用根目录下的
@at
指令来阻止自动包含由&
表示的选择器
.test {
@include alt_parent() {
content: 'test';
}
}
@mixin alt_parent($parent) {
@at-root {
#{str-replace(unquote("#{selector_append(&)}"), "s", "x")} {
@content;
}
}
}