在这个最小sass示例中,我尝试连接一个字符串和inspect()
生成的字符串
// Can not be changed:
@function get-filename() {
$filename: inspect("foo.jpg");
@return $filename;
}
// My code:
$url: "path/" + get-filename();
body {
background-image: url($url);
}
然而,这并没有按要求解决,因为foo.jpg
周围有报价
body {
background-image: url('path/"foo.jpg"');
}
你能告诉我如何更正我的代码,使解析css为:吗
body {
background-image: url('path/foo.jpg');
}
正如注释中所述,在我的应用程序中,我无法更改生成$filename
的函数。
我认为$url: "path/" + unquote(get-filename());
可以解决这个问题,但这似乎没有帮助。
unquote
应该在这里工作,但当将其与inspect
的结果相结合时,这似乎是Sass本身的一个错误。
您可以使用一个函数来删除字符串中的第一个和最后一个字符:
// Can not be changed:
@function get-filename() {
$filename: inspect("foo.jpg");
@return $filename;
}
@function dropOuterCharacters($input) {
@return str-slice($input, 2, str-length($input) - 1);
}
$url: "path/" + dropOuterCharacters(get-filename());
body {
background-image: url($url);
}