Compass を使用してスプライトを生成していますが、問題なく動作していますが、小さな問題が 1 つあります。私が一般的に使用するメディア クエリ mixin などの別の @include 内にある場合、@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 ステートメントを使用することはできません。スプライト @include が舞台裏で @extend ステートメントを生成しているようです。これは望ましくありません。誰もこれを回避する方法を知っていますか?
編集:
本当の問題は、@extend をメディア クエリ内にネストしていることであることが @lolmaus から指摘されました。それは許可されていないと思いますが、それを回避する方法はありますか?