我正在尝试基于SCSS 的指南针精灵混合创建一个精灵混合。
问题是图像被多次加载。一个用于图像的每个唯一调用(因此每个引用精灵的新类名)
这是我正在使用的 SCSS。首先我们调用 compass mixins:
$sprite-default-size:29px;
@import "compass/utilities/sprites/sprite-img";
然后我创建了自己的 mixin,旨在接受一列图像,每个图像的右侧都有悬停状态:
$icons: "/assets/icons/socialMediaSprite.png";
@mixin verticalHoverSprite($row){
@include sprite-img("/assets/icons/socialMediaSprite.png",1,$row);
&:hover{
@include sprite-img($icons,2, $row);
}
}
我使用将 mixins 应用到每个必需的类:
.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 次: