Dom*_*Dom 3 css svg sass mixins
我正在尝试为我的svg图标创建简单的mixin。
混合:
@mixin ico($position, $size, $image) {
background-image: url(data:image/svg+xml;base64,$image);
background-repeat: no-repeat;
background-size : $size;
background-position: $position;
background-color: $blue-dark;
height: 30px;
padding-left: 30px;
}
Run Code Online (Sandbox Code Playgroud)
SASS错误:
"Syntax error: Invalid CSS after \"...image: url(data\": expected comma, was \":image/svg+xml;...\"\A
Run Code Online (Sandbox Code Playgroud)
不知道如何解决它。
感谢您的帮助。
您需要在此处使用字符串插值。您可能需要引用它,然后使用该unquote()函数。
$blue-dark: blue;
@mixin ico($position, $size, $image) {
background-image: url(data:image/svg+xml;base64,#{$image});
background-repeat: no-repeat;
background-size : $size;
background-position: $position;
background-color: $blue-dark;
height: 30px;
padding-left: 30px;
}
.foo {
@include ico(0, 10, foo);
}
Run Code Online (Sandbox Code Playgroud)
值得注意的是,如果您希望能够为不支持SVG背景的浏览器提供后备功能,则需要使用背景速记,其中包括background-size:
.foo {
background: url(foo.png) no-repeat;
background: url(foo.svg) 0 0 / auto auto no-repeat;
}
Run Code Online (Sandbox Code Playgroud)