2013-08-06 117 views
2

magic-importing我的精灵:指南针精灵:将个人风格到每一个精灵类没有写出每个精灵名手动

// Creating a concatenated sprite image out of all sprites in the "/images/sprites/" folder 
$sprites-layout: vertical 
@import   sprites/*.png 

$sprites-sprite-dimensions: true // Image width and height will be applied to all sprite classes 

+all-sprites-sprites  // Generate all sprite classes 

我想添加自定义样式每一个角色。我设法前魔法进口声明一个类添加共同所有的精灵风格(魔术进口似乎扩展这个类为每个精灵):

.sprites-sprite     // This code will be applied to all sprite classes 
    @extend   %inline-block 

但我也想款式个人应用到每个精灵。例如,我想用min-width而不是width

作为temprorary的解决方案,我手动列出我所有的精灵的名字:

=sprite-custom-styles($item) 
    +sprites-sprite($item) 
    padding-left: px(sprites-sprite-width($item) * 1.3) 
    min-width: sprites-sprite-width($item) 

@each $item in foo, bar, baz, quux 
    .sprites-#{$item} 
    +sprite-custom-styles($item) 

这是非常麻烦的,我想自动执行此操作。

也许magic导入可以创建一个我可以使用的名称列表?或者,也许我可以用一个特定的名称来定义一个mixin,这个magicin会在每个sprite类上调用它?

回答

3

您可以用功能sprite-names($map),这样的检索名称的列表:

@each $item in sprite-names($sprites-sprites) 
    ... 

指南针导入图像(@import "<map>/*.png")之后创建的精灵地图$<map>-sprites