Sass 逃之夭夭
下面是我正在使用的mixin示例:Sass 逃之夭夭,sass,Sass,下面是我正在使用的mixin示例: @mixin gradient($from, $to, $height) { background-color: #{$to}; background-image: url("/media/img/gradient/4/#{$height}/#{$from}/#{$to}/"); background-repeat:repeat-x; } 问题是$from和$to颜色传递到url时没有#,因此典型的调用如下所示: @include g
@mixin gradient($from, $to, $height) {
background-color: #{$to};
background-image: url("/media/img/gradient/4/#{$height}/#{$from}/#{$to}/");
background-repeat:repeat-x;
}
问题是$from和$to颜色传递到url时没有#,因此典型的调用如下所示:
@include gradient(ff00ff, 00ff00, 600);
background-color: ##{$to};
背景色前面需要一个散列。我想在mixin中这样写一行:
@include gradient(ff00ff, 00ff00, 600);
background-color: ##{$to};
但这不起作用。。。有什么想法吗?最后我决定重写:
@include gradient(ff00ff, 00ff00, 600);
作为
正如预期的那样。我需要做一些类似的事情,因为这是谷歌的第一个结果,我想我应该补充一下我是如何解决这个问题的 我必须传递一个十六进制颜色,并使用类名中的值作为真实颜色。所以我创建了一个addHash函数 这里有一个简单的例子
@function addhash($input) {
@return unquote("#" + $input);
}
@mixin setColour($colour, $textColour:"0000ff")
{
.headerButtons .colour#{$colour} a{
background:addhash($colour);
color:addhash($textColour);
}
}
@包括设置颜色(“00ff00”)
这样输出CSS
.headerButtons .colour00ff00 a {
background: #00ff00;
color: #0000ff;
}
希望这会对某人有所帮助。也许这会奏效:
{“{”+$myVar}