记得当时面试的时候被问到对css sprite的认识,现在详细的解析一下,这个用法,加深一下映像,总没啥坏处。
一、什么是css sprite?用css sprite有什么好处?
css sprite,也有人叫css精灵、css雪碧,说的通俗一点儿,就是将css中定义的多个背景图片合成到一张,以减少http请求数。目前很多网站都在使用,算不上新技术,但是也很好用。
最大的优点就是可以减少http的请求数,一般情况下,合成后得到的图片,比单张图片相加后所得的数据量,要小得多。另一个喜爱大型 sprite 的理由是可以利用一些 sprite 生成器来简单得生成 sprite。
二、经典的例子——社交网站分享功能
<ul class="share"> <li>分享到:</li> <li><a class="renren" href="#" title="分享到人人网">人人网</a></li> <li><a class="kaixin" href="#" title="分享到开心网">开心网</a></li> <li><a class="sina" href="#" title="转帖到新浪微博">新浪微博</a></li> <li><a class="douban" href="#" title="分享到豆瓣">豆瓣</a></li> <li><a class="more" href="#" title="添加到更多">更多</a></li> </ul>
ul.share li{float:left;} ul.share li a{display:block;width:25px;height:25px;text-indent:-9999px;} a.renren{background:url(../images/share.gif) 0 0 no-repeat;} a.kaixin{background:url(../images/share.gif) -25px 0 no-repeat;} a.sina{background:url(../images/share.gif) -50px 0 no-repeat;} a.douban{background:url(../images/share.gif) -75px 0 no-repeat;} a.more{background:url(../images/share.gif) -100px 0 no-repeat;}分享功能是css精灵最常用的一种展示形式,不过上边的代码也有不完全的地方,css代码应该使用background-position这样可以增强代码的可维护性。此外图像替换时,如果使用text-indent属性之后,如果用户禁用图片,那么相对应的文字链接也就看不到了。在firefox下还需要为元素设置overflow:hidden,否则点击元素的时候,会出现超长的虚线框。
相关推荐
css sprite示例源码
CSS Sprite自动生成工具是一款可以导入CSS背景图片,就可以自动生成CSS sprite代码和一张整的CSS 贴图图片的工具,工具小巧方便,精确到1px,网格吸附。非常方便制作CSS sprite贴图。
css sprite雪碧图生成小工具 v4.3 css sprite 雪碧图生成小程序,已在github上开源,地址:https://github.com/iwangx/sprite ,请需要的朋友注意版本更新
Sketch-CSS-Sprite-Mixin, 在草图中,生成一个 CSS Sprite Mixin到剪贴板的代码 绘制 CSS Sprite MixinSketch中生成 scss,LESS 和手写笔的mixin的代码。 运行插件时,代码被复制到剪贴板。子画面名称是顶级图层名,...
演示CSS中Sprite技术的应用,这是一种减少与服务器连接次数的好方法,能够适当提高服务器的响应能力,特别是高并发的网站。
该工具可以自动生成css sprite在应用background-position的参数
雪碧图工具CssSprite.exe 快速生成雪碧图及代码的工具,很好使
css sprite 雪碧图生成小程序,已在github上开源,地址:https://github.com/iwangx/sprite
Stitches 是一个 HTML5 sprite 样式创建工具,可以将多个图片合并成一个,并给出 sprite 样式。 标签:Stitches
css精灵图生成软件,自动生成,并给出小图的backgrount-positon的值。比较好用
CST CSS图片拼合定位工具
用于制作图片的整合。对一些标签和icon进行图片的整合。
CssSprite雪碧图制作工具 优点:简单好用
当图片数量较多,而且搭配合理的情况下,可以有效地提升网页速度;另外,借助 CSS sprite 的特性可以进行图片提前加载处理。
CssSprite.zip
NULL 博文链接:https://cd-ui.iteye.com/blog/1718434
CssSprite是一款很好用的小图合并工具,能自动生成CSS代码,导入小图就可以直接用了~