是否有检查现有占位符的功能?
Is there a function to check existing placeholder?
我写过这段代码:
@mixin test() {
@at-root {
%place-test {
display: red;
}
}
@extend %place-test;
}
.parent-test {
@include test();
}
.parent-test-2 {
@include test();
}
现在,我想要这个结果:
.parent-test-2,
.parent-test {
display: red;
}
但是,编译后的结果是一样的:
.parent-test-2,
.parent-test {
display: red;
}
.parent-test-2,
.parent-test {
display: red;
}
我的意思是,重复两次。是否有检查现有占位符的功能?
您不需要检查现有占位符的函数,这里的问题是您每次调用混合时都在创建一个新的占位符选择器。您需要在其外部声明 %place-test
,然后它将按您的需要进行编译:
%place-test {
display: red;
}
@mixin test() {
@extend %place-test;
}
.parent-test {
@include test();
}
.parent-test-2 {
@include test();
}
这假定您在 mixin 中有更多属性。不然还是直接调用@extend
比较好
我写过这段代码:
@mixin test() {
@at-root {
%place-test {
display: red;
}
}
@extend %place-test;
}
.parent-test {
@include test();
}
.parent-test-2 {
@include test();
}
现在,我想要这个结果:
.parent-test-2,
.parent-test {
display: red;
}
但是,编译后的结果是一样的:
.parent-test-2,
.parent-test {
display: red;
}
.parent-test-2,
.parent-test {
display: red;
}
我的意思是,重复两次。是否有检查现有占位符的功能?
您不需要检查现有占位符的函数,这里的问题是您每次调用混合时都在创建一个新的占位符选择器。您需要在其外部声明 %place-test
,然后它将按您的需要进行编译:
%place-test {
display: red;
}
@mixin test() {
@extend %place-test;
}
.parent-test {
@include test();
}
.parent-test-2 {
@include test();
}
这假定您在 mixin 中有更多属性。不然还是直接调用@extend
比较好