如何在数据:图像字符串中使用sass字符串替换?

如何在数据:图像字符串中使用sass字符串替换?,sass,Sass,我正在使用上提到的字符串替换 但我正在尝试在背景图像data:image/svg+xmlstring中进行字符串替换 我正在尝试用url编码的%23替换我的一个颜色变量hex# 我不认为堆栈片段与SASS一起工作,但在中得到相同的结果 您可以在sassmiter中更好地看到css输出 @函数str replace($string,$search,$replace:“”){ $index:str索引($string,$search); @如果$index{ @返回str切片($string,1,

我正在使用上提到的字符串替换

但我正在尝试在背景图像
data:image/svg+xml
string中进行字符串替换

我正在尝试用url编码的
%23
替换我的一个颜色变量hex
#

我不认为堆栈片段与SASS一起工作,但在中得到相同的结果

您可以在sassmiter中更好地看到css输出

@函数str replace($string,$search,$replace:“”){
$index:str索引($string,$search);
@如果$index{
@返回str切片($string,1,$index-1)+$replace+strreplace(str切片($string,$index+str长度($search)),$search,$replace);
}
@返回$string;
}
$wm black:#202020;
.模式关闭{
&:之前{
背景:{
image:url('data:image/svg+xml;utf8,{fill:%23'+str replace($wm black,#','%23')+'});
重复:不重复;
位置:calc(100%-25px)25px;
尺寸:36px 36px;
颜色:rgba(#000,.95);
}
不透明度:1;
过渡:不透明度。25秒缓解;
内容:'';
显示:块;
位置:固定;
排名:0;
右:0;
左:0;
底部:0;
z指数:99;
}
}

插值颜色值并将其转换为字符串:

{str replace(''+$wm black'.'.'.''.''%23'))
示例用法

$wm black:#202020;
.bg svg{
背景图像:url('data:image/svg+xml;utf8,'a{fill:{str replace(''+$wm black','.'''.''%23')};}');
}
感谢您的回答,这是我目前使用的解决方案,但原理相同

{str replace(#{$wm black},'.'''.''%23'))
下面的用法示例

$wm black:#202020;
.bg svg{
背景图像:url('data:image/svg+xml;utf8,'a{fill:{str replace({$wm black},'.'''.'23')}');
}

我最终确实找到了解决方案,但忘了将我的解决方案作为更新发布。同样的原理,将变量值转换为字符串。我也会将解决方案作为答案发布。谢谢你的支持。