`
zcw_java
  • 浏览: 303768 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

小图集成在一张图片上CSS Sprites

 
阅读更多
css图片拼合生成器: http://cn.spritegen.website-performance.org/

CssSprite百度百科

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

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

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

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

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

  解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。

  更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。

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

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

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

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

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

  有几篇关于CSS Sprites的文章,基本上把其原理和机制说明得很清楚。

  What Are CSS Sprites?

  How to create CSS sprites

  Creating Rollover Effects with CSS Sprites

  Building a Dynamic Banner with CSS Sprites

  High Performance Web Sites中关于CSS Sprites的内容3.2. CSS Sprites
五、CSS Sprite的例子

  .bg_sprite{background-image:url(/整图地址); background-repeat:no-repeat}

  引用该类 .. 然后在元素中逐一定义背景坐标 .. 以下为关键属性 ..

  #ico1 {width:容器大小;height:容器高度;background-position:X坐标 Y坐标}

  #ico2 {width:容器大小;height:容器高度;background-position:X坐标 Y坐标}

  #ico3 {width:容器大小;height:容器高度;background-position:X坐标 Y坐标}

  .nav {width:容器大小;height:容器高度;background-position:X坐标 Y坐标}

  必须要限定容器大小符合背景图元素位置 .. 另外 .. XY轴是相对于整张图片的左上角来算的 .. 所以取值一定要算清楚
六、CSS Sprites的问题

  由于IE6存在的background的flicker问题IE6/Win, background image on , cache=‘check every visit’: flicker!,有人针对此问题提出了解决方案Fast Rollovers Without Preload

  关于IE6的flicker问题,fivesevensix上有一篇很不错的研究文章Minimize Flickering CSS Background Images in IE6

  另外:brunildo的CSS tests and experiments是关于css各种功能不错的参考手册和测试工具。
分享到:
评论

相关推荐

    css sprites把很多小图集成在一张图片上

    css sprites把很多小图集成在一张图片上 css sprites把很多小图集成在一张图片上 css sprites把很多小图集成在一张图片上 css sprites把很多小图集成在一张图片上

    CSS Sprites实现图片分组动画效果

    CSS Sprites就是可以将许多图片集成在一张大图上,然后利用CSS的图片定位技术将其分割开来。这款CSS3图片效果就是可以将分割完的小图片实现分组的动画效果,我们只需要点击按钮即可切换到相应的分组状态,并伴随动画...

    css sprite 雪碧图生成小程序

    1. **合并图像**:将网页中分散的小图标(如按钮、导航条、社交图标等)整合到一张大的图片中,这张大图就是所谓的“雪碧图”。 2. **CSS定位**:通过CSS的`background-image`属性设置雪碧图的URL,再利用`...

    css sprites技术将多个背景集成到一个png图片上css定位

    1. **整合图片**:将所有需要的图标、小背景图片等按照一定的规律(例如按行或列)合并到一张大图上。这一步骤需要设计者和前端开发者协同完成,确保图片合并后的布局合理且易于定位。 2. **CSS定位**:在CSS中,为...

    前端开源库-gulp-img-css-sprite

    2. **CSS Sprites**:CSS Sprite 是一种CSS图像合并技术,将网页中的多个小图标合并到一张大图(Sprite图)上,然后在CSS中通过背景定位来显示需要的图标部分。这样减少了HTTP请求次数,提高了页面加载速度,尤其对...

    js css样式放大镜

    2. **CSS精灵图(CSS Sprites)** - 为了优化性能,开发者可能会使用CSS精灵图来合并多个小图片,这样只需要加载一张图片,然后通过CSS的背景定位来显示不同的部分,这对于放大镜效果的实现特别有用。 3. **CSS3...

    网页图片切片

    CSS Sprites是将多个小图标合并到一张大图中,然后通过CSS的背景定位显示需要的部分,以减少HTTP请求次数,提高页面加载效率。 综上所述,网页图片切片是提升网页设计质量和性能的关键技巧。通过合理的切片和优化,...

    CssSprite雪碧图制作工具

    - **IDE插件**:某些集成开发环境(IDE)如WebStorm、Visual Studio Code等也有对应的插件,可以在项目中直接生成雪碧图和CSS。 2. **使用步骤** - **上传图片**:将需要合并的小图标导入到工具中。 - **自动...

    前端开源库-css-slice-imgs

    在Web开发中,为了提高页面加载速度和减少HTTP请求,开发者常会将一张大的图片切割成多个小图,然后通过CSS的background-image和background-position属性来拼接显示。这个库就是为了解决这个问题而诞生的。 在描述...

    变幻之美DIV+CSS

    CSS Sprites工作原理; ?制作图文混排的页面元素; ?通过修改CSS文件实现页面重构; ?在页面中插入Flash文件; ?class与id同时配合使用; ?“代码重用”的编码思路; ?应用CSS实现“当前页”效果; ?以CSS...

    gulp-her-cssSprite:CSS sprites,取决于gulp-her-kernel

    CSS精灵是一种优化网页加载速度的技术,通过将多个小图标合并到一张大图(称为精灵图)中,减少HTTP请求次数,从而加快页面的加载速度。依赖于 **gulp-her-kernel** ,它为开发者提供了一种方便、高效的方式来整合...

    Ext 按钮图片

    在实际开发中,开发者会将这些图标整合到CSS精灵图(CSS Sprites)中,这是一种优化网页加载速度的技术,通过合并多个小图像到一张大图中,减少HTTP请求次数,从而加快页面加载速度。在ExtJS的样式表中,开发者会...

    icons小图标 ,包含对应的css文件 16*16,32*32基本包含所有的样式

    此外,为了优化性能和减少HTTP请求,开发人员可能会使用CSS Sprites技术,即将多个图标合并到一张大图中,然后通过CSS的背景定位显示单个图标。这可以减少网络加载时间,提高页面加载速度。 总的来说,这个压缩包...

    图片轮转有好几种自己可以选择

    1. **滑动门(Sliding Doors)**:这种方法利用CSS精灵(CSS Sprites)技术,将所有图片拼接成一张大图,通过改变背景位置来实现图片的切换。优点是加载速度快,但需要精确计算图片的位置和尺寸。 2. **jQuery插件*...

    DIV+CSS电子商务网站模板

    此外,CSS Sprites技术将多个小图合并成一张大图,减少HTTP请求次数,提高加载速度。 综上所述,"DIV+CSS电子商务网站模板"是一个高效、可扩展的网页设计解决方案,它不仅提供了美观的布局,还确保了良好的用户体验...

    房地产类建筑商业CSS模板06_房地产 地产 建筑 蓝色 商业 企业 大图.zip

    为了优化加载速度和性能,设计师可能会对图片进行适当的压缩,并利用CSS精灵(CSS Sprites)技术将多个小图标合并到一张大图中,减少HTTP请求,提高页面加载速度。 总的来说,这个房地产类建筑商业CSS模板集成了...

    腾讯网首页皮肤背景图片

    在网页设计中,这种方法被称为CSS精灵(CSS Sprites)。 首先,我们关注到描述中提到了"DIV的圆边"。在HTML中,`<div>` 是一个常用的布局元素,它可以将内容分隔成不同的区域。为了让这些`<div>`元素的边角看起来更...

    夜总会CSS网页模板

    同时,CSS Sprites技术可以合并多个小图像为一张大图,减少HTTP请求,提高加载效率。 10. **可访问性**:尽管是夜总会模板,但依然需要注意网页的可访问性,确保视力障碍或其他残障人士也能使用。这包括使用正确的...

Global site tag (gtag.js) - Google Analytics