我正在使用Compass来生成我的精灵图,它运行得非常完美,但我遇到了一个小问题。当在另一个@include(例如媒体查询mixin)内部时,我无法使用@include语句包含单个精灵图,而我通常会使用这种方式。我的精灵图SCSS如下:
.sp {
background-repeat: no-repeat;
overflow: hidden;
line-height: 0;
font-size: 0;
text-indent: 100%;
border: 0;
}
$sp-sprite-dimensions: true;
$sp-sprite-base-class: '.sp';
$sprite-layout: smart;
@import "sp/*.png";
@include all-sp-sprites;
在另一个位置,我正在尝试做这件事:
.logo {
a {
@include break($break1) {
@include sp-sprite(logo-small);
}
}
}
嵌套的@include语句在SCSS中是可以使用的,但是它不允许在@include语句内部使用@extend语句,而显然sprite @include会在幕后生成一个@extend语句,而我不想要这个。有人知道如何解决这个问题吗?
编辑:
@lolmaus指出,真正的问题是我在媒体查询内部嵌套了@extend语句。我猜这是不允许的,有什么解决办法吗?
sp-sprite
是你编写的混合器吗?请提供完整的代码。 - Andrey Mikhaylov - lolmaus