Sass无法@extend使用父选择器创建的选择器
我需要用SCS和占位符以某种方式创建CSS输出 这是我想要的输出Sass无法@extend使用父选择器创建的选择器,sass,extend,Sass,Extend,我需要用SCS和占位符以某种方式创建CSS输出 这是我想要的输出 .myclass { color: silver; } .myclass-gold { color: gold; } 当我试着用这样的 %placeholder { color: silver; #{&}-gold { color: gold; } } .myclass { @extend %placeholder !optional; } 我只得到这个结果 .myclass {
.myclass {
color: silver;
}
.myclass-gold {
color: gold;
}
当我试着用这样的
%placeholder {
color: silver;
#{&}-gold {
color: gold;
}
}
.myclass {
@extend %placeholder !optional;
}
我只得到这个结果
.myclass {
color: silver;
}
黄金部分被完全去掉了
我需要一个占位符,因为我使用了许多选择器,如
a.myclass
,input.myclass
等,并且不希望从这些选择器中导出分解的@export
如果我不使用占位符,而是使用随机选择器,并获取一些extry字节,那么输出也不正确
ae739ab7 {
color: silver;
#{&}-gold {
color: gold;
}
}
.myclass {
@extend ae739ab7 !optional;
}
屈服
ae739ab7, .myclass {
color: silver;
}
ae739ab7 ae739ab7-gold, .myclass ae739ab7-gold {
color: gold;
}
及 给我
ae739ab7, .myclass {
color: silver;
}
ae739ab7-gold {
color: gold;
}
这里缺少的总是选择器.myclass gold
这是否可能通过某种魔术实现?仅对精确匹配进行扩展。当你写这篇文章时:
%placeholder {
color: silver;
#{&}-gold {
color: gold;
}
}
.myclass {
@extend %placeholder !optional;
}
你真正创造的是:
%placeholder {
color: silver;
}
%placeholder %placeholder-gold {
color: gold;
}
所以当你写这篇文章时:
%placeholder {
color: silver;
#{&}-gold {
color: gold;
}
}
.myclass {
@extend %placeholder !optional;
}
它将只扩展%占位符
选择器,而不扩展%占位符黄金
选择器。要获得所需的行为,必须分别扩展每个占位符选择器:
%placeholder {
color: silver;
@at-root #{&}-gold {
color: gold;
}
}
@mixin placeholder {
& {
@extend %placeholder;
@at-root #{&}-gold {
@extend %placeholder-gold;
}
}
}
.myclass {
@include placeholder;
}
输出:
.myclass {
color: silver;
}
.myclass-gold {
color: gold;
}
仅扩展精确匹配的工作。当你写这篇文章时:
%placeholder {
color: silver;
#{&}-gold {
color: gold;
}
}
.myclass {
@extend %placeholder !optional;
}
你真正创造的是:
%placeholder {
color: silver;
}
%placeholder %placeholder-gold {
color: gold;
}
所以当你写这篇文章时:
%placeholder {
color: silver;
#{&}-gold {
color: gold;
}
}
.myclass {
@extend %placeholder !optional;
}
它将只扩展%占位符
选择器,而不扩展%占位符黄金
选择器。要获得所需的行为,必须分别扩展每个占位符选择器:
%placeholder {
color: silver;
@at-root #{&}-gold {
color: gold;
}
}
@mixin placeholder {
& {
@extend %placeholder;
@at-root #{&}-gold {
@extend %placeholder-gold;
}
}
}
.myclass {
@include placeholder;
}
输出:
.myclass {
color: silver;
}
.myclass-gold {
color: gold;
}
我从未想过在mixin中使用extend。我从未想过在mixin中使用extend。