CSS Sprite的相关概念

原文

  简书原文:https://www.jianshu.com/p/8ae3be23a642css

大纲

  一、什么是CSS Sprite
  二、CSS Sprite的优势
  三、CSS Sprite的缺点
  四、CSS Sprite的使用服务器

一、什么是CSS Sprite

  1.一、CSS Sprites在国内不少人叫css精灵,是一种网页图片应用处理方式。它容许你将一个页面涉及到的全部零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像之前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差很少的,因此无需顾忌这个问题。网络

  1.二、加速的关键,不是下降质量,而是减小个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请求。因此,图片越多请求次数越多,形成延迟的可能性也就越大。工具

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

二、CSS Sprite的优势

  2.一、利用CSS Sprites能很好地减小网页的http请求,从而大大的提升页面的性能,这也是CSS Sprites最大的优势,也是其被普遍传播和应用的主要缘由;学习

  2.二、CSS Sprites能减小图片的字节,曾经比较过屡次3张图片合并成1张图片的字节老是小于这3张图片的字节总和。网站

  2.三、解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就能够了,不须要对每个小元素进行命名,从而提升了网页的制做效率。设计

  2.四、更换风格方便,只须要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就能够改变。维护起来更加方便。blog

三、CSS Sprite的缺点

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

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

  3.三、CSS Sprites在维护的时候比较麻烦,若是页面背景有少量改动,通常就要改这张合并的图片,无需改的地方最好不要动,这样避免改动更多的css,若是在原来的地方放不下,又只能(最好)往下加图片,这样图片的字节就增长了,还要改动css。

  3.四、CSS Sprites很是值得学习和应用,特别是页面有一堆icon(图标)。总之不少时候你们要权衡一下利弊,再决定是否是应用CSS Sprites。

四、CSS Sprite的使用

  4.一、不要等到你完成切片以后才开始sprite.若是你边切图边写CSS,而后等你完成了整个网站以后再来拼接这些图片到一个Sprite中,你就不得不彻底重写你的CSS,你也必需要花费不少的时间来用PS拼接大量的图片。

  4.二、将小图片整合到一张大的图片上,而后根据具体图标在大图上的位置,给背景定位(background-position)。

相关文章
相关标签/搜索