
css精灵图(sprite)直译为“CSS精灵”,也被称为通常被解释为“CSS图像拼合”、“CSS贴图定位”或“CSS图片精灵”、“CSS雪碧图”,是一种网页图片应用处理方式。其实就是把一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。
使用css精灵图(sprite)的方法
css精灵图(sprite)其实就是通过将多个图片融合到一张图里面,然后通过CSSbackground背景定位技术技巧布局网页背景。在需要用到图片的时候,通过CSS属性background组合background-position等来实现图片的显示;background-position可以用数字能精确的定位出背景图片的位置。
这样处理图片后,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。
示例:
使用到的精灵图(sprite)
代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> *{ margin: 0; padding: 0; } .sprites{ width: 200px; margin: 50px auto; } .sprites div{ margin: 5px; } .sprites span{ float: left; width: 20px; height:20px; background: url('./images/icon.png');/* 引用精灵图 */ background-size: 60px 40px; } .sprites1{ background-position: 0 0; } .sprites2{ background-position: -20px 0 !important; } .sprites3{ background-position: 0 -20px !important; } .sprites4{ background-position: -20px -20px !important; } .sprites5{ background-position: -40px 0 !important; } </style> </head> <body> <div class="sprites"> <div><span class="sprites1"></span>付款图标</div> <div><span class="sprites2"></span>存款图标</div> <div><span class="sprites3"></span>删除图标</div> <div><span class="sprites4"></span>粘贴图标</div> <div><span class="sprites5"></span>笑脸图标</div> </div> </body> </html>
效果图:
CSS Sprites 的优点:
1、减少图片的字节
2、减少了网页的http请求,从而大大的提高了页面的性能
3、解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。
4、更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。
CSS Sprites 的缺点:
1、在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内出现不必要的背景;这些还好,最痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;
2、CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无需改的地方最好不要动,这样避免改动更多的css,如果在原来的地方放不下,又只能(最好)往下加图片,这样图片的字节就增加了,还要改动css。
更多web前端开发知识,请查阅 HTML中文网 !!