【发布时间】:2018-08-14 11:25:31
【问题描述】:
我会使用 SVG 作为背景,并且能够通过 css 方式更改颜色。 所以在搜索之后,我找到了这个帖子,但我不确定在我的 mixin 中放置 svg url 的位置。
SVG as a background-image in MIXIN setting color via a SASS variable
我的出发点:
$imagedir:'../images/'; // definir ici le chemin vers le dossier image
@mixin backgroundSVGandColor($filename,$color:red) {
background-image: url('data:image/svg+xml;utf8,<svg xmlns='#{$imagedir}#{$filename}'><g stroke="#{$color}" ... /></g></svg>');
}
但是这个“g”元素是什么?它应该包含我的 svg url 吗?
谢谢
编辑:我的 mixin 的新版本,灵感来自你的 cmets
@mixin backgroundSVGandColor($filename,$color:red) {
background-image: url("data:image/svg+xml,<'svg xmlns="http://www.w3.org/2000/svg" "'#{$imagedir}#{$filename}",{$color}'></svg>");
}
URI 在正确的位置吗?
EDIT2:新版本
@mixin backgroundSVGandColor($filename,$color:red) {
background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="url('#{$imagedir}#{$filename}')" color='$color');
}
【问题讨论】: