CSS sprite oluşturmak için Compass kullanıyorum.Farklı stil sayfalarında aynı Pusula grafiğini kullanma
Bir kez bir sprite tanımlamak ve farklı .scss dosyaları arasında kullanmanın bir yolunu buldum, ancak bunun doğru çözüm olduğundan emin değilim. Şu ana kadar bulabildiğim
iyi yoludur:
- her .scss dosyasında
_variables.scss
kısmi ithal tanımlamak_variables.scss
kısmi dosya içindeki sprite bir_variables.scss
kısmi dosya - oluşturmak
Örnek
_variables.scss dosyası:
$siteSprite-spacing: 20px;
@import "siteSprite/*.png";
firstPage.scss dosyası:
@import "../variables.scss";
.close {
@include siteSprite-sprite(close, true);
}
secondPage.scss dosyası:
@import "../variables.scss";
.viewMore {
@include siteSprite-sprite(arrow, true);
}
Ve bu çalışır, ancak ...
Sorun şu ki, Compass scss dosyalarını (firstPage.scss, secondPage.scss) derlediğinde her defasında _variables.scss parçasını okur ve daha sonra her zaman sprite oluşturmaya çalışan tüm görüntüleri okur.
sonuç derlemek süreci bu kadar biter olmasıdır:
create generated_images/siteSprite-s526a535d08.png
unchanged generated_images/siteSprite-s526a535d08.png
create css/firstPage.css
unchanged generated_images/siteSprite-s526a535d08.png
create css/secondPage.css
unchanged generated_images/siteSprite-s526a535d08.png
create css/thirdPage.css
unchanged generated_images/siteSprite-s526a535d08.png
Ve siteSprite görüntü klasörü içindeki birçok sayfa ve birçok dosyalarına sahip oldukları bu son derece yavaştır.
Bu sorunu nasıl önleyebilirim?
Her sayfa için bir stil sayfası yapmanın nedeni nedir? Belki de sprite referans veren küresel bir stil sayfası oluşturabilir misiniz? Her sayfa için stilleri ayırıyorsanız, neden bu sayfa için spritelar ayırmayın? –
@verlok, değişmeyen satır çok hızlı olmalıdır. Kendi sprite sayfamla bir test yaptım ve her değişmeyen hat benim için oldukça hızlıydı. Oluşturma çizgisi, evet, özellikle büyük bir hareketli grafiğiniz varsa, ağrılı bir şekilde yavaş olacaktır. – zmanc
Sadece 'create', pusulayı sprite oluşturuyor demektir. "değişmedi" çok daha hızlı olmalı. – sam