【问题标题】:Multiple background images (gradient + sprite)多个背景图像(渐变+精灵)
【发布时间】:2011-09-09 05:20:30
【问题描述】:

这与 SASS 的指南针框架特别相关。

我创建了一个精灵和一个渐变混合。是否可以将两者结合在同一个项目上,如果可以,如何?

@import "compass/css3";

@import "icon/*.png";
@include all-icon-sprites;

@mixin light-gradient {
    @include background-image(linear-gradient(top, $dark 20%, $light 100%));
    color: $dark;
    text-shadow: $light;
}

button {
    @include light-gradient;
    @include icon-sprite(search);
}

更新:

我想出了这个解决方案,有人可以改进它吗?

@import "compass/css3";
@import "compass/utilities/sprites";

$icon: sprite-map("icon/*.png");

$light-gradient: linear-gradient(bottom, $shade-2 20%, $shade-3 100%);
$icon-search: sprite($icon, search) no-repeat;

button {
    @include background($light-gradient, $icon-search);
}

【问题讨论】:

  • 谢谢!我发现它只有在我给背景()图标然后是渐变(与你所拥有的相反)时才会起作用,就像这样:@include background($icon-search, $light-gradient);

标签: css sass compass-sass


【解决方案1】:

您可以使用$<map>-sprites 变量来获取精灵混合生成的精灵图,如下所示(基于您的原始示例):

@import "compass/css3";

@import "icon/*.png";
@include all-icon-sprites;

button {
    @include background(linear-gradient(top, $dark 20%, $light 100%),
                        sprite($icon-sprites, search) no-repeat);
}

不一定要优雅得多(如果有的话),但如果您选择采用另一条路线。 :)

【讨论】:

    猜你喜欢
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多