我想創建一個精靈混合,基於compass sprite mixins for SCSS。雪碧加載多次,而不是我所期望的緩存
問題是圖像加載多次。一個用於圖像的每次唯一調用(因此每個新的類名稱引用精靈)
這是我正在使用的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:
在Chrome網絡面板屏幕截圖,其中顯示了圖像加載三次:
使用什麼狀態碼多次加載這些圖像?對於我這個jsfiddle例子來說,它也會多次加載圖像,但首先它帶有狀態200,之後只有狀態304是「未修改」,因此根本沒有響應數據。使用304,它不會再次下載圖像,因爲服務器說它沒有被修改,所以不必再次下載。所以如果是這樣,那就沒問題。 – RynoRn
你是對的!我已經編輯了我的答案。但是爲什麼呢,那麼在我原來的問題中它有不同的加載時間? –
(我正在離開答案,因爲它解決了第一次加載時閃爍懸停狀態的主要症狀。) –