好久好久没有更新博客了,越来越懒。。。话说懒也有懒的好处,懒的时候你可能会想着用些神马方法来帮你偷懒。没错,下面就给大家介绍个博主前不久开发的【css样式生成 & 图片合并压缩工具】Spirte。

  功能简介:

  1. 自动合并选定文件夹下所有png图片为一张大图并压缩(水平和垂直两个方向)

  2. 智能生成css样式和测试文件(命名规则来,hover和click有惊喜哦)

  点击Go会自动生成sprite.html(css样式)和sprite.png(合并后的图片),如果勾选了压缩还有有个sprite_uncompressed.png未压缩文件对比。

  软件截图:

  

  什么是Css Sprite(来自百度百科)?

  CSS Sprites是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会 像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需 顾忌这个问题。

按照yahoo的rules for high performance web sites的原则,应当较少Client与Server端间 的HTTP Request次数。通过CSS Sprites方法将多张图片组装成单独的一张图片,可以有效减少HTTP请求 的次数。
  当整幅图片载入完成后,你就可以使用CSS方法通过设置背景位置的方式完成所需图片的准确调用。
  加速的关键,不是降低重量,而是减少个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请求,所以,图片越多请求次数越多,造成延迟的可能性也就越大。

  为什么博主要写Sprite工具?

  我们来一个很常见的工作流:

  1. 设计师把单个图片切好;

  2. 手动用PS把这些图片合成一张大图;

  3. Web前端攻城狮苦逼的拿着这张图一个个的写background-position来定位单个小图;

  第2,3步这苦逼的步骤。。。费时费力,自身又得不到任何提高,我们只想送她两个字:呵呵。。。

  用Sprite工具,让我们看下会有什么变化

  1. 设计师把单个图片切好;

  2. 任何人打开Sprite工具,选择要合并图片文件夹,点击“Go”,即可完成图片合并和css样式生成工作;

  wow,步骤由3步变2步,更神奇的是第2步是如此的简单,惬意,轻轻一点,万事ok。

  怎么使用Sprite工具?

  咦,前面不是说只要选定图片所在文件夹一点就可以生成了吗?搞个使用说明是几个意思?各位看官稍安勿躁,确实按上述方法是可以做到这些,但咱这个工具还具备了根据图片名智能生成css的作用。打个比方图片名为btn_hover.png在生成css时会自动解析成btn:hover。没错,以下是具体规则实例:

  wechat => .wechat

  wechat_hover => .wechat:hover

  wechat-hover => .wechat:hover

  wechat_ibg_hover => .wechat_ibg:hover

  wechat-ibg-hover => .wechat-ibg:hover

  wechat.ibg => .wechat .ibg

  wechat.ibg.wechat_focus => .wechat .ibg .wechat:focus

  wechat.ibg.wechat_none => .wechat .ibg . wechat_none

  wechat_hover.wechat_none => .wechat:hover .wechat_none

  wechat-hover.wechat-none => .wechat:hover .wechat-none

  是不是大概看懂了,我再详细解释下:

  1. 生成的css类名已图片名为准;

  2. 符号“."是分隔符,会生成多个类;

  3. 符号”_"和“-”后如果是css伪类关键字(:link, :visited, :hover, :active, :focus, :before, :after, :lang)将自动生成css伪类

    e.g. wechat-hover => .wechat:hover

  运行环境:

  WIN32, .net framework 2.0

  下载:

  源代码和demo请移步:https://github.com/wuqiang1985/sprite

  其他:

  有人可能会说,为啥不用sass和compass,人家也有sprite功能啊?确实,他那功能确实很牛叉,但还是稍有学习成本,而像css预编译工具这种在团队开发时对来的利弊业界褒贬不一。而Sprite工具理念就是简单,易用,不需要学习,谁都能用。

  希望这个工具能够给大家带来方便,提高工作效率。在使用过程中如有任何建议和意见请联系博主,谢谢。

  

最新文章

  1. 转 苹果企业级帐号进行ipa打包,分发,下载等流程
  2. c#如何采集需要登录的页面
  3. go语言 匿名变量
  4. 微信支付开发(11) Native支付
  5. django 学习-17 Django会话Session
  6. tensorflow-cnn
  7. Linux设备驱动中的阻塞和非阻塞I/O
  8. oracle创建表空间-用户-角色-授权
  9. ios9API基础知识总结(二)
  10. day08 文件操作
  11. Firefox 安装 Adobe Flashplayer
  12. [P3613]睡觉困难综合征
  13. linux安装elasticsearch及遇到的各种问题
  14. mezzanine的page_menu tag
  15. Spring主从数据库的配置和动态数据源切换原理
  16. linux下查看服务器软件的编译参数
  17. 故障处理:磁盘扩容出错:e2fsck: Bad magic number in super-block while trying to open /dev/vdb1
  18. 转载:VMWARE虚拟机无法访问的三种方法分析
  19. 欢迎来怼—第三次Scrum会议
  20. nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客

热门文章

  1. POJ2186:Popular Cows(tarjan+缩点)
  2. js中var a={}什么意思
  3. Codeforces Round #513 by Barcelona Bootcamp
  4. 牛客国庆集训派对Day6 Solution
  5. Digital Image Processing 学习笔记1
  6. php时间戳函数mktime()
  7. TortoiseGit 访问https远程仓库,上报SSL证书错误解决方法
  8. linux 查看数据库和表
  9. python 获取进程执行的结果
  10. H5 canvas建造敌人坦克