CssGaga教程:AutoSprite(CSS Sprite Generator)


市面上有一些sprite生成器,要么是要人工调整图片位置,要么要拷贝粘贴代码,用起来总是觉得不够爽,CssGaga使用了不同的思路,希望能解放你的双手:) 使用时选中AutoSprite即可开启此功能,下面通过一个例子来说明: 比如HTML:

<s class="i1"></s><s class="i2"></s><s class="i3"></s><s class="i4"></s><s class="i5"></s><s class="i6"></s>

css源文件:

body{background-color:black;}
s{display:inline-block;width:16px;height:16px;overflow:hidden;background-repeat:no-repeat;}
.i1{background-image:url('slice/1.png');}
.i2{background-image:url('slice/2.png');}
.i3{background-image:url('slice/3.png');}
.i4{width:64px;height:64px;background-image:url('slice/4.png');}
.i5{background-image:url('slice/3.png');}
.i6{width:64px;height:64px;background-image:url('slice/6.gif');}
.i11{width:60px;height:60px;background-image:url('slice/1.jpg');}
.i12{width:60px;height:60px;background-image:url('slice/2.jpg');}
.i13{width:60px;height:60px;background-image:url('slice/3.jpg');}
.i14{width:60px;height:60px;background-image:url('slice/4.jpg');}

CssGaga生成后:

body{background-color:black}
s{display:inline-block;width:16px;height:16px;overflow:hidden;background-repeat:no-repeat}
.i1{background-image:url(sprite/style.png);background-position:-128px 0}
.i2{background-image:url(sprite/style.png);background-position:-128px -16px}
.i3{background-image:url(sprite/style.png);background-position:-128px -32px}
.i4{width:64px;height:64px;background-image:url(sprite/style.png);background-position:0 0}
.i5{background-image:url(sprite/style.png);background-position:-128px -32px}
.i6{width:64px;height:64px;background-image:url(sprite/style.png);background-position:-64px 0}
.i11{width:60px;height:60px;background-image:url(sprite/style.jpg);background-position:0 0}
.i12{width:60px;height:60px;background-image:url(sprite/style.jpg);background-position:-60px 0}
.i13{width:60px;height:60px;background-image:url(sprite/style.jpg);background-position:-120px 0}
.i14{width:60px;height:60px;background-image:url(sprite/style.jpg);background-position:-180px 0}

同时生成sprite图片sprite/style.png和sprite/style.jpg


文件对比:

  before after
html before.htm after.htm
css style.source.css style.css
image png/gif总大小:10.2KB
jpg总大小:8.69KB
slice/1.png

slice/2.png

slice/3.png

slice/4.png

slice/6.gif

slice/1.jpg

slice/2.jpg

slice/3.jpg

slice/4.jpg
5.83KB
sprite/style.png
7.19KB
sprite/style.jpg

详解

  • 碎图片放在slice文件夹,slice文件夹与css同级且引用时为相对路径
  • css调用图片的语句不能缩写,要写完整
    background-image:url('slice/1.png')

    引号写单双无所谓,不写也行,最后都会被压缩掉,下面这种写法不会生效

    background:url('slice/1.png')
  • 可处理png、gif(不支持动态gif,当作png8处理)和jpg格式,若为png32则生成的sprite会转换为png8,建议全部使用png8格式
  • CssGaga生成的sprite放置于与slice同级的sprite文件夹中,生成后会自动进行压缩,文件名为该css文件名+图片后缀(png/jpg),每个css最多生成2个sprite(png/jpg),png为带alpha透明的png8(fireworks有这个功能,photoshop没有),可用来实现渐进增强
  • 生成sprite后自动替换css中background-image的url,并自动生成对应的backgroud-position
  • 使用同步功能可同时把css和生成的sprite拷贝过去,选中生成本地文件可保留在本地sprite目录中,否则会在同步后删去
  • 以后会逐步优化尽可能减少sprite的面积,使用者只需更新CssGaga即可,不必更改代码

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3