Sass 用于'$';前缀
我正在开发一个简单的mixin,与Grunt Spritesmith一起使用。这是我到目前为止写的Sass 用于'$';前缀,sass,mixins,Sass,Mixins,我正在开发一个简单的mixin,与Grunt Spritesmith一起使用。这是我到目前为止写的 @mixin svg($svg, $height, $width) { background-image:url(../../images/svg/#{$svg}.svg); background-repeat:no-repeat; display:block; height:$height + px; width:$width + px; .no-
@mixin svg($svg, $height, $width) {
background-image:url(../../images/svg/#{$svg}.svg);
background-repeat:no-repeat;
display:block;
height:$height + px;
width:$width + px;
.no-svg & {
@include sprite($#{$png});
}
}
我会像这样使用它
@include svg("logo", 50, 100);
我遇到的问题是,我只传递了图像的名称(在本例中只是“logo”)以在背景图像url中使用,但是我需要在@include sprite mixin前面加上一个美元,就像这样
@include sprite($logo);
因此,我真正需要知道的是如何在Sass中格式化这一行,以便它输出传入的$svg变量,并在其前面加上$svg前缀。这是需要调整@include sprite($#{$png})的行;谢谢。我有点困惑,你为什么不直接应用
@include-sprite(#{$svg})
输出
div {
background-image: url(../../images/svg/logo.svg);
background-repeat: no-repeat;
display: block;
height: 50px;
width: 100px;
}
.no-svg div {
background-image: url(../../images/png/logo.png);
...
}
例如:因为我使用的是Grunt Spritesmith(),它生成一个mixin,用于将png用作精灵,而不是请求个人。png@GuerillaRadio我的错我没有看到这是一个遗憾,这不能做到,谢谢你的提示。
div {
background-image: url(../../images/svg/logo.svg);
background-repeat: no-repeat;
display: block;
height: 50px;
width: 100px;
}
.no-svg div {
background-image: url(../../images/png/logo.png);
...
}