Sass SCSS mixin动态类名计算时不带引号
我正在使用以下SCSS混音器Sass SCSS mixin动态类名计算时不带引号,sass,styling,mixins,scss-mixins,Sass,Styling,Mixins,Scss Mixins,我正在使用以下SCSS混音器 @mixin QuintIcon($path, $name, $color) { ion-icon { &[class*=#{quote($name)}] { mask-image: url($path); color: #{$color}; } } } @include QuintIcon("../../assets/img/tabs/rings.svg", "quint-ring", "#FFF");
@mixin QuintIcon($path, $name, $color) {
ion-icon {
&[class*=#{quote($name)}] {
mask-image: url($path);
color: #{$color};
}
}
}
@include QuintIcon("../../assets/img/tabs/rings.svg", "quint-ring", "#FFF");
我期待以下结果
ion-icon[class*="quint-ring"] {
mask-image: url("../../assets/img/tabs/rings.svg");
color: #FFF;
}
然而我得到了这个
ion-icon[class*=quint-ring] {
mask-image: url("../../assets/img/tabs/rings.svg");
color: #FFF;
}
解释
这两个代码块之间的差异在“=”符号后面的第一行。我希望该值计算为带引号的字符串,但事实并非如此,即使我使用了。我把它插入了爱奥尼亚,但这与造型无关,它只使用引号
做实验
您可以在处使用
@mixin QuintIcon($path, $name, $color) {
ion-icon {
&[class*="#{$name}"] {
mask-image: url($path);
color: #{$color};
}
}
}
@include QuintIcon("../../assets/img/tabs/rings.svg", "quint-ring", "#FFF");
在使用LibSass或Sass编译器的sassmiter上
ion-icon[class*="quint-ring"] {
mask-image: url("../../assets/img/tabs/rings.svg");
color: #FFF;
}
看起来和你期望的一样
还有,为什么会这样
ion-icon[class*=quint-ring] {
mask-image: url("../../assets/img/tabs/rings.svg");
color: #FFF;
}
不为你工作?我找不到结果选择器有问题的场景:
div[类*=五次环]{
颜色:绿色;
}
五环
斜视环
五环
aaa SFDFSdfSf五次环
quint ringsssss bdfdbWeird,因为我没有得到这个结果,我们可能在SASSMISTER上有不同的配置。在我这方面,我使用的是DartsassV1.6.2,我不知道它是什么。显然,它是一个编译器,但我认为它在IonicI上不起作用。我确认,在LibSass上,编译器按预期工作,但在Ionic v3框架上不起作用。SassMister上唯一删除引号的编译器似乎是DartSass。这就是爱奥尼亚v3的用途吗?你的解决方案是对的,我只是搞乱了一个爱奥尼亚特有的东西。谢谢