Несколько фоновых изображений (градиент + спрайт)
Это относится конкретно к структуре компаса для 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);
}
Update:
Я придумал это решение, может ли кто-нибудь улучшить его?
@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);
}
Ответы
Ответ 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);
}
Не обязательно все, что намного более элегантно (если вообще), но еще один маршрут, если вы решите его взять.:)