Compass 每个目录只生成一个精灵。这很好,因为它可以被浏览器缓存,如果您在多个页面上使用它,则无需获取它。您可以反复使用该精灵,甚至可以选择性地使用您引用的教程中介绍的选择器控件。
想象一下,在您的图像文件夹中有四个图标:
- images/icon/apple.png
- images/icon/banana.png
- images/icon/basketball.png
- images/icon/football.png
在名为 fruits.sass 的样式表中,您导入所有图标,并且仅使用 apple 和 banana 图标。
@import "icon/*.png";
.fruits
.banana
+icon-sprite(banana)
.apple
+icon-sprite(apple)
在名为sports.sass 的样式表中,您导入所有图标,并且只使用basketball 和football 图标。
@import "icon/*.png";
.sports
.football
+icon-sprite(football)
.basketball
+icon-sprite(basketball)
当你编译时,一个名为icon-sjargon1.png 的精灵会在images 中生成。
- images/icon/apple.png
- images/icon/banana.png
- images/icon/basketball.png
- images/icon/football.png
- images/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; }