CSS Sprites在国内很多人叫css精灵,其实这个技术不新鲜,这个技术老到什么程度呢,我不敢确定,但是我看到最早的关于CSS Sprites是在Dave Shea的《CSS Sprites: Image Slicing’s Kiss of Death》,时间是March 05, 2004 ,整整5年了,那时我还没参加工作呢?

?

这个技巧已经广泛的应用到现在的页面的前端开发中,甚至YUI将他定为《提高网页效率的14条准则》的第一条准则“Make Fewer HTTP Requests” ,可见这个技术的重要性,也正是YUI的推荐

使这个CSS技巧得到了广泛的推广和应用。

?

先来看个最简单的DEMO:

这是背景图片

这是一个简单的CSS Sprites的demo:

?

XML/HTML代码

这里显示红叉

??

这里显示绿勾

??

这里显示红叉

??

这里显示绿勾

??

看看页面中的显示!

?

CSS Sprites原理CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。

?

CSS Sprites优点

1.利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;

2.个人认为能CSS Sprites能减少图片的字节,我曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。

?

CSS Sprites缺点

诚然CSS Sprites是如此的强大,但是也存在一些不可忽视的缺点

1.在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好只够的空间,防止板块内不会出现不必要的背景;这些还好,做痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;

2.CSS Sprites在开发的时候比较麻烦,你要通过photoshop或其他工具测量计算每一个背景单元的精确位置,这是针线活,没什么难度,但是很繁琐;幸好腾讯的鬼哥用RIA开发了一个CSS Sprites 样式生成工具,虽然还有一些使用上的不灵活,但是已经比photoshop测量来的方便多了,而且样式直接生成,复制,拷贝就OK!

3.CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无序改的地方最好不要动,这样避免改动更多的css,如果在原来的地方放不下,有只能(最好)往下加图片,这样图片的字节就增加了,还要改的css。

CSS Sprites非常值得学习和应用,特别是页面有一堆ico(图标)。总之很多时候大家要权衡一下利弊,在决定是不是应用CSS Sprites。

扩展阅读:

html css精灵,谈谈CSS Sprites(css精灵)相关推荐

  1. [css] 你是怎么设计css sprites(精灵图)的?有哪些技巧?

    [css] 你是怎么设计css sprites(精灵图)的?有哪些技巧? 首先肯定不会去用PS量,那太费时间了~ 没有webpack以前,用Gulp的gulp.spritesmith插件,这里附上配置 ...

  2. android 精灵图的使用方法,css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  3. CSS基础:精灵技术(sprites)

    其实网页在加载的时候每请求一次图片就算一次请求,请求次数过多也会造成服务器压力过大,相应变慢.而精灵图(sprites)技术就算解决这个问题:减少对服务器的请求次数. 为什么减少了图片的请求次数呢?说 ...

  4. css sprite 按钮,CSS Sprites (CSS 精灵) 技术

    CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢 ...

  5. html中精灵图的使用方法,css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  6. CSS Image Rollovers翻转效果Image Sprites图片精灵

    代码  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  7. 13 【精灵图 图标字体 CSS三角 鼠标样式 溢出省略号】

    20.精灵图 20.1为什么需要精灵图? 一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送 请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度. ...

  8. css精灵,又叫css背景精灵

    css精灵,又叫css背景精灵 "css精灵",英语css sprite,所以也叫做"css雪碧"技术.是一种CSS图像合并技术,该方法是将小图标和背景图像合并 ...

  9. css sprites原理,CSS Sprites (CSS图像拼合技术)教程工具

    一篇教程,其源文件可下载学习 Fast Rollovers Without Preload 一个快速翻转效果的例子 CSS Sprites + Rounded corners 另一个例子:使用CSS ...

  10. React拾遗:从10种现在流行的 CSS 解决方案谈谈我的最爱 (下)

    If you are not paying for the product, you are the product. 当一个商品是"免费"的,那往往你成了商品. 终于有时间静下心 ...

最新文章

  1. python是脚本语言不需要编译器编译执行_都有Python了,还要什么编译器!
  2. 【C++多线程系列】【七】实现经典的C/S架构
  3. netflix 数据科学家_数据科学和机器学习在Netflix中的应用
  4. 可编程的智能小车,100种玩法,让孩子玩出理科编程思维
  5. Python程序互斥体
  6. python开始之路—基础中的基础
  7. 论剑乌镇:历届互联网大会热词盘点
  8. dfs dtft dft fft
  9. 从技术角度,设备过保就坏,是怎么实现的
  10. 安装VMware+linux+oracle手记
  11. JavaScript数据源版省市县三级联动
  12. 华为云HECS,集智纳简优化配置,畅享一站式使用场景
  13. ITMS-90096错误解决
  14. GDAL error: ‘NoneType‘ object has no attribute ‘GetGeoTransform‘
  15. 【MSSql2000】GroupByOrderBy
  16. Elasticsearch-32.生产环境常用配置与上线清单 he 集群写性能优化 he 集群读性能优化
  17. 【转】LTE基本架构
  18. 笔记本外接显示器后分辨率无法调回到正常模式
  19. Axure9学习笔记2:界面布局
  20. 华生详解万科董事会:我为什么不支持大股东意见(中)

热门文章

  1. javascript第三天(2)
  2. vc/vs开发的应用程序添加dump崩溃日志转
  3. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(10)之素材管理
  4. UML学习——类图(三)
  5. lfcp——PB使用
  6. 对于大规模机器学习的理解和认识
  7. 一个理性战胜感性的成功案例:P2P投资和活期理财,纠结中提炼出来的1个数学问题...
  8. RedHat下JDK1.6安装-利用alternative实现多版本并存(Ubuntu同理)
  9. 国外开源.Net 系统概述
  10. 数组黑科技(偏性能方面)未完待更新...