コンパスはディレクトリごとに1つのスプライトしか生成しません。ブラウザでキャッシュできるので、複数のページで使用するとフェッチする必要がありません。あなたは参照したチュートリアルでカバーされているSelector Controlを使い、スプライトを何度も繰り返し使用することができます。
あなたの画像フォルダに4つのアイコンがあることを想像して:
- 画像/アイコン/ apple.png
- 画像/アイコン/ banana.png
- 画像/アイコン/ basketball.png
は、
fruits.sass
と呼ばれるスタイルシートで
- 画像/アイコン/ football.png
、あなたはすべてのアイコンをインポートし、のみを使用apple
とbanana
アイコン。 sports.sass
と呼ばれるスタイルシートで
@import "icon/*.png";
.fruits
.banana
+icon-sprite(banana)
.apple
+icon-sprite(apple)
、あなたはすべてのアイコンをインポートし、のみbasketball
とfootball
アイコンを使用。
@import "icon/*.png";
.sports
.football
+icon-sprite(football)
.basketball
+icon-sprite(basketball)
コンパイルすると、icon-sjargon1.png
のようなものをという名前のスプライトがimages
に生成されます。
- 画像/アイコン/ apple.png
- 画像/アイコン/ banana.png
- 画像/アイコン/ basketball.png
- 画像/アイコン/ football.png
- 画像/ icon- sjargon1.png
あなたの生成fruits.css
は以下のようになります。
.icon-sprite,
.fruits .banana,
.fruits .apple { background: url('/images/icon-sjargon1.png') no-repeat; }
.fruits .banana { background-position: 0 -20px; }
.fruits .apple { background-position: 0 0; }
あなたsports.css
は次のようになります生成:あなたはまた、別のスプライトを別のフォルダに画像を置くことができ
.icon-sprite,
.sports .football,
.sports .basketball { background: url('/images/icon-sjargon1.png') no-repeat; }
.sports .football { background-position: 0 -60px; }
.sports .basketball { background-position: 0 -40px; }
パーフェクトで非常によく書かれている! :) – F21
うーん。 @import "icon/*。png" 'throws構文エラー:" ... $ main-clean-up "の後に無効なCSSがあります:期待される関数の引数は"でした " メインラインの18行 から3行目。私はSCSSも使用しています。 – F21
最新のcompass.appにアップグレードしても問題ありません:) – F21