我在使用Compass Sprites水平居中精灵(Sprites)的过程中遇到了问题。
我有一堆不同大小的图标,我想让它们居中显示在它们所在的容器中,以便它们可以像左侧的图标一样显示。
如果我这样做:
$sprite-position: 50%;
@import "sprite/*.png";
然后图像会居中显示在生成的sprite.png上,但实际上CSS的内容可能是这样的:
background-position: -9px -223px;
与预期不同:
background-position: 50% -223px;
如果它的位置会被明确声明,那么以精灵为中心有什么意义呢?现在我硬编码为50%和Y轴,这很糟糕,因为当我添加一个新的精灵时,我必须更改它们所有,这完全违背了初衷。在Compass、CSS或者其他方面我做错了吗?还是它根本就不能像它应该的那样工作?唯一我能想到的方法是指定尺寸然后包含图标并将其居中。左边的50%值在那里,所以你不需要这样做,对吧?另外,只是一句话……Compass不支持JPEG精灵也很糟糕。首页有大约6张推广图片,它们都被精灵化会很好,你只需要替换文件夹中的图片就可以了!谢谢,Dom。