webrebuild.org第四届年会——金秋四城联动

邀您参加“裸奔”

在你对CSS华丽的效果着迷时,别忘了在华丽外表下面,最原始的文字。

邀您参与每年4月9号的“CSS裸奔节”,详情请登陆webrebuild.org

CSS Sprites 样式生成工具

Ghost 发表于 [2009-05-02 16:31]

学CSS布局的同学应该多少知道CSS Sprites(图片合并)技术,简单的说就是利用CSS的background-position属性,控制显示一张大图片的显示区域。例子可以看这里《 CSS Sprites: Image Slicing’s Kiss of Death》。

对于经常使用CSS Sprites的同学,不知道是否有跟我一样的烦恼,在写定位的时候,先在PS里量出大概的位置,然后再在FF里用 Firebug 进行微调,以达到实际需要的效果。

效率方面的问题比较严重,虽然在做合并图的时候大概的位置都已经心里有数,不过在写样式的时候也不太可能每次都能记得住正确的位置,特别是像我这种没啥记性的人,总免不了开着PS,时不时的量一下。更让我烦恼的是,原本性能就不高的电脑,开着个PS后运行起来就更慢了(至少一半内存被PS占用),而这时的PS只是用来量位置,真是有点大才小用了。

很巧在网上逛的时候看到了 赵玉开 写的一个 Css背景图合并工具 ,这个工具可以把许多的小图片合并成一张大图并生成样式,蛮不错的想法,只是并不真正实用。为什么这么说呢?因为一般情况下我们不会先切出小图再合并,这不符合工作习惯,我们大多数是在PS里直接保存合并后的图片,因为还有一个图片质量的问题。

受此启发,我写了下面这个工具 bg2css_1.4.1.air

CSS Sprites 68375F0F751F62105DE55177 v1.4.1

目前版本是1.4.1,基本上已经可以正常使用,主要是想减少使用CSS Sprites技术时测量坐标及填写background-position定位这部分重复而枯燥的时间,提高工作效率。

程序名称:CSS Sprites 样式生成工具(bg2css)
版本信息:
v1.4.1 2009-3-21
=====================
+双击添加层
+拖动层、修改层大小
+显示层相关信息
+编辑层信息、删除层
+生成样式
+保存样式文件到桌面
+在线更新
+输出样式时可选是否输出宽高
+重置层
+层位置和大小微调
+修正了已知的一些bug

需要AIR环境,可到 Adobe站点 下载安装。

还有很多的想法没在这个版本中实现,后续再做更新,如果使用中有什么意见或建议,欢迎与我联系,我尽可能的改善这个工具。

如何获取最新版本:下载安装1.4.1版本后点击“检查更新”即可。

版本更新信息:

bg2css v1.5.0 2009-3-25
+图片放大预览
(fix)空值无验证

bg2css v1.5.1 2009-3-26
+图片放大培数可改

bg2css v1.6.0 2009-3-27
CSS Sprites 68375F0F751F62105DE55177 v1.6.0
+边界验证
(fix)修改类名后放大失效

bg2css v1.7.0 2009-4-1
+保存层位置信息

bg2css v1.8.0 2009-4-7
+复制样式
+层列表,以方便管理

bg2css v1.8.1 2009-4-9
CSS Sprites 68375F0F751F62105DE55177 v1.8.1
+一定范围的负边界
+复制选中层的样式
(fix)输出0时的显示
注意:保存的设置文件增加一个项,请在之前保存的xml里的“imginfo”节点下手动增加一个“margin”节点,值为“0”.

bg2css v1.8.2 2009-4-10
CSS Sprites 68375F0F751F62105DE55177 v1.8.2
+公共样式部分可编辑
(fix)修改了部分界面
注意:保存的设置文件增加一个项,请在之前保存的xml里的“imginfo”节点下手动增加一个“gbstyle”节点,值为“”.

bg2css v1.9.0 2009-4-12
CSS Sprites 68375F0F751F62105DE55177 v1.9.0
+复制当前层
(fix)读取设置后再保存出错
(fix)修改了部分界面

bg2css v1.9.1 2009-4-12
(fix)支持中文路径

bg2css v1.9.2 2009-4-13
+图片背景色可改
+快捷键删除层
+拖动更改图片

bg2css v1.9.3 2009-4-14
+文件保存时覆盖提示
(fix)修改图片拖动响应区域

bg2css v1.9.4 2009-5-2
CSS Sprites 68375F0F751F62105DE55177 v1.9.4
+自定义保存路径
+单独复制宽、高、X坐标、Y坐标
+复制当前样式时类名可选择
(fix)修改默认层大小
(fix)拖入文件时检查类型
(fix)“关于“里的链接在浏览器窗口打开

bg2css v1.9.5 2009-5-2
(fix)保存时文件不能替换

bg2css v2.0 2009-5-12
+优化操作界面
+放大时定位到当前层位置
+图片放大不消锯齿
+图片放大6倍(用于原图过小的情况,大图片慎用)
(fix)图片放大后添加层再缩小信息出错

帮助文件


其它类似的工具:
将打包的小图以一定规则生成大图的 CSS 图片拼合生成器
使用ajax开发的 Sprite Creator

文章地址:http://www.cssforest.org/blog/index.php?id=129

CSS Sprites 样式生成工具》采用的授权是创作共用的 “署名-非商业性使用-相同方式共享 3.0 通用许可”.

文章被分类到:bg2css


评论也精彩

  1. xhlv 在 496 日 之前 说:

    佩服鬼还能写air,不过个人还是更喜欢用PS,选取、刻度尺或鼠标的坐标可以很快得到想要的数值,css中也只要复制一个样式改改background-position的值就可以了。
    另外对于图标,按16×16或32×32的大小来摆放也可以减少很多获取数据的工作量,直接累加就可以了。

  2. 阿肆 在 496 日 之前 说:

    这个还是习惯用手写,我就像个原始社会的人,不太习惯用智能化工具,呵呵。
    可能是现在没有太大的项目要做,不然也会烦了,还在激情期吧。哈哈

  3. opera 在 496 日 之前 说:

    我也是习惯手写,ps嘛,一般在定位的时候都会取比图片大小稍微大一些的整数值,比如图片高为35px,我一般在ps中以50px为单位放置图片,这样在写css的时候基本就是位置*-50px,根本不用在ps中量。

  4. bcpxqz 在 496 日 之前 说:

    测量大小只用fireworks,选区方法功能很强的。

  5. rates 在 496 日 之前 说:

    现在好像非常流行这种将图片合并的工具阿

  6. Ghost 在 496 日 之前 说:

    写这个工具也是想在提高效率方面做下尝试,当然也不是说这工具就一定能起到什么作用,每个人习惯的方式不一样。

    使用CSS Sprites并不只是那些很规则的ICON图,也有大小不一的按钮等等,对于有成熟规范的项目可能用处不大,对于活动类的页面,效果可能会较明显,是否真能提高效率,还得在实际工作中应用试试。

  7. Jeanne 在 495 日 之前 说:

    赞一个!试用了下,很好用哈!如果图片预览区的图片大小可调就更加完美咯:)

  8. 5457 在 495 日 之前 说:

    目前还是手工制作阶段,关键是目前的自动生成工具都不太靠谱….!

  9. rain.kx 在 495 日 之前 说:

    呃.好东西..
    很强大.
    学习写一下..

  10. lin516 在 493 日 之前 说:

    强,学习研究下!

  11. charies 在 492 日 之前 说:

    “因为一般情况下我们不会先切出小图再合并,这不符合工作习惯,我们大多数是在PS里直接保存合并后的图片”

    我一般都是 先切除小图 再进行 合并~
    个人做法 不知道 谁还和我一样

  12. Andy 在 491 日 之前 说:

    很失败没用过 CSS Sprites
    可能是我很少切图的原因吧 呵呵
    好久也去试试

  13. 潇洒 在 491 日 之前 说:

    呵~ 先留个名。看起来不错。
    有空下一个试试~ 为啥要用 AIR 开发呢?

  14. Mandy 在 488 日 之前 说:

    不错 这样方便很多

  15. rainaxin 在 486 日 之前 说:

    这个东西怎么说呢,看是用作什么,谁用,有价值是因为用对了地方,所以还是因人还有因环境而异。

  16. 寂静猴子 在 485 日 之前 说:

    看到过好几次了,都没下载试过,这次下载了..

  17. willyang 在 478 日 之前 说:

    不错,赞一个,看到大家的留言感觉自己好久没上网了!真落后!鬼加油!

  18. dudo 在 478 日 之前 说:

    莫非也是裸奔一天?

  19. 福清 在 477 日 之前 说:

    赞一个 收下

  20. Honk 在 477 日 之前 说:

    不错的工具,感谢分享

  21. 开心农场 在 476 日 之前 说:

    我还真没有用过呢
    不错的工具,感谢分享

  22. 福清 在 474 日 之前 说:

    收藏备用。。。

  23. MarVell 在 473 日 之前 说:

    这个东西啊,优化图片质量,减少图片大小事最头疼的问题了。。。

    如果再遇到临时往大图里面添加东西的话更是一个相当恶心的问题,总之麻烦多多啊。
    关于自动生成工具方面确实不太靠谱,一些企业不还有自动套div的页面么,美名曰自动生成标准化页面。那出来的页子能要么?

  24. Ghost 在 473 日 之前 说:

    @潇洒 主要一点是支持MAC,再一点是开发的语言相对容易上手。
    @MarVell 你清楚这个工具是做什么用的吗?

  25. mayi 在 472 日 之前 说:

    我觉得用处不大,我用的双22寸显示器.建议做前端开发的一定要双屏幕,现在显示器实在是便宜.

  26. 景裔 在 471 日 之前 说:

    还是比较喜欢手写CSS,感觉心里踏实啊。下回修改自己也清楚

  27. DeadFire 在 471 日 之前 说:

    这篇文章每天自动发布一次?

  28. Ghost 在 471 日 之前 说:

    @DeadFire 有更新。

  29. air 在 469 日 之前 说:

    怎么下载链接还是1.41的?鬼

  30. Ghost 在 467 日 之前 说:

    @air 下载安装1.4.1版本后点击“检查更新”即可获取最新版本。

  31. 德克萨斯扑克 在 464 日 之前 说:

    没用过…我去试试看

  32. magie 在 459 日 之前 说:

    刚安装完,还没有学会怎么用

  33. 蝎子 在 447 日 之前 说:

    图片放大后能不能不要消除锯齿啊。。。
    http://img365.imageshack.us/img365/2787/20090510144716.jpg
    像这样反而看不清图标的边界了。

    建议不消除锯齿像这样:http://img365.imageshack.us/img365/8859/20090510144742.jpg
    方便划分层…

  34. Ghost 在 446 日 之前 说:

    @蝎子 下个版本解决。

  35. 超越CSS 在 444 日 之前 说:

    这工具不错

  36. JF 在 275 日 之前 说:

    作者你好!我很喜欢用这个工具,一般用来制作导航菜单。可是工具只是方便提供了图片定位的坐标,关于float、a和hover等都要自己写。要是能把这个功能也加进去就真的太好了,再次感谢!

  37. Ghost 在 274 日 之前 说:

    @JF 这个已经不是这个工具要考虑的范围了。:)

欢迎发表评论
  1. 请不要发表跟文章无关的评论,内容或站点如指向非个人博客地址的以发广告对待!
  2. 为抵制垃圾评论,留言需要先预览再点击提交。
  3. 评论支持textile语法,查看 textile帮助
  4. 还可以使用QQWeb输入法