SCSSのコンパススプライトミックスインに基づいて、スプライトミックスインを作成しようとしています。
問題は、画像が複数回読み込まれていることです。画像の一意の呼び出しごとに1つ(つまり、スプライトを参照する新しいクラス名ごとに)
これが私が使用しているSCSSです。まず、コンパスミックスインと呼びます。
$sprite-default-size:29px;
@import "compass/utilities/sprites/sprite-img";
次に、画像の列を受け入れるように設計された独自のミックスインを作成します。各画像の右側にホバー状態があります。
$icons: "/assets/icons/socialMediaSprite.png";
@mixin verticalHoverSprite($row){
@include sprite-img("/assets/icons/socialMediaSprite.png",1,$row);
&:hover{
@include sprite-img($icons,2, $row);
}
}
必要な各クラスにミックスインを適用するために使用します。
.socialMediaLink{
@include verticalHoverSprite(1);
&.facebook{
@include verticalHoverSprite(2);
}
&.twitter{
@include verticalHoverSprite(3);
}
}
画像を添付するHTMLは次のとおりです。
<span class="socialMediaLink"></span>
<span class="facebook socialMediaLink"></span>
<span class="twitter socialMediaLink"></span>
Chromeネットワークパネルのスクリーンショット。画像の読み込みが3回表示されています。