css sprite技术
css sprite
一,关于CSS Sprite
CSS Sprites是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需 顾忌这个问题。
按照yahoo的rules for high performance web sites的原则,应当较少Client与Server端间 的HTTP Request次数。通过CSS Sprites方法将多张图片组装成单独的一张图片,可以有效减少HTTP请求 的次数。
当整幅图片载入完成后,你就可以使用CSS方法通过设置背景位置的方式完成所需图片的准确调用。
加速的关键,不是降低重量,而是减少个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请求,所以,图片越多请求次数越多,造成延迟的可能性也就越大。
二,CSS Sprite的使用
有几篇关于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的例子
[原文:http://blog.rexsong.com/?p=746#comments]
1. 图片限制(Image Slicing)
典型如文本编辑器,小图标特别多,打开时一张张跑出来,给用户的感觉很不好。如果能用一张图解决,则不会有这个问题,比如百度空间、163博客、Gmail都是这么做的。
Image Slicing’s Kiss of Death
http://www.alistapart.com/articles/sprites
2. 单图转滚(Single-image Rollovers)
触发切换图片的需求,传统方案得重新请求新图片,因为网络问题经常造成停留或等待。如果能把多种状态合并成一张图,就能完美解决,然后再使用背景图技术模拟动态效果。
ColorScheme Ratings
http://demo.rexsong.com/200608/colorscheme_ratings/
3. 延长背景(Extend Background Image)
如果图片的某边可以背景平铺无限延长,则不需要每个角、每条边单独搞出来,图片能少一个就少一个。其实,这个理论还可以扩展到四角容器里,好处是能大大简化HTML Structure。
Extend Background Image
http://demo.rexsong.com/200705/extend_background_image/
综合案例
Google Korea(1和2技巧)
http://demo.rexsong.com/200705/google_korea/
CSS Menus(2和3技巧)
http://demo.rexsong.com/200705/css_background_menus/
四,CSS Sprites的问题
由于IE6存在的background的flicker问题IE6/Win, background image on , cache=‘check every visit’: flicker!,有人针对此问题提出了解决方案Fast Rollovers Without Preload
关于IE6的flicker问题,fivesevensix.com上有一篇很不错的研究文章Minimize Flickering CSS Background Images in IE6
另外:brunildo.org的CSS tests and experiments是关于css各种功能不错的参考手册和测试工具。
分享到:
相关推荐
CSS Sprite技术主要依赖CSS的background-position属性,该属性在所有现代浏览器中都得到良好支持,但在一些旧版浏览器(如IE6)中可能存在问题。可以通过精灵图的替代方案,如使用img标签和精灵图定位,来解决兼容性...
**CSS Sprite技术详解** 在网页设计中,CSS Sprite(精灵图)是一种常见的优化网页加载速度的方法,它将多个小图像合并到一个大图中,通过CSS的定位来显示需要的部分。这种技术尤其适用于那些需要频繁加载的小图标...
**CSS Sprite技术详解** CSS Sprite,也被称为精灵图或雪碧图,是一种在网页设计中广泛应用的优化图像加载的技术。它的主要目的是减少网页HTTP请求的数量,从而提高页面加载速度,优化用户体验。通过将多个小图标...
**CSS Sprite技术详解** CSS Sprite,也被称为雪碧图,是一种网页图像处理方式,用于优化网页加载速度和减少HTTP请求。这种技术将多个小图标合并到一个大图中,然后通过CSS定位显示需要的部分,从而减少了网络请求...
为纪念美国现代舞舞蹈家玛莎·葛兰姆诞辰,Google Doodle推出了一款极其炫酷的LOGO,整个LOGO使用了CSS Sprite技术,利用一个初始图片和一张画满各个动作的拼接图片,实现了动画,而非传统的GIF动画图像。
- **兼容性**:虽然CSS Sprite技术适用于大部分现代浏览器,但在较旧的浏览器中可能需要额外的兼容性处理。 - **响应式设计**:对于响应式布局,需要考虑不同屏幕尺寸下的图标大小和位置,可能需要动态生成不同...
1. **图片限制(Image Slicing)**:例如文本编辑器中的小图标,通过使用CSS Sprite技术,可以将所有图标合并为一张大图,减少加载时的延迟感。 2. **单图转滚(Single-image Rollovers)**:通过合并不同状态下的图片...
《CSS精灵技术详解》 CSS Sprite,又称为CSS雪碧图或CSS精灵,是一种常见的网页图像优化技术。在网页设计中,为了减少HTTP...在现代前端开发中,配合自动化工具和CSS预处理器,可以更好地管理和使用CSS Sprite技术。
其中,一种常见的优化策略就是使用CssSprite技术,也就是我们常说的“雪碧图”。雪碧图是一种将多个小图标合并到一张大图中,然后通过CSS定位来显示需要的图标的方法。这样做的好处是可以减少HTTP请求的数量,从而...
总的来说,CSS Sprite技术是优化网站性能的重要手段,尤其对于高流量的网站,它可以显著提高页面的加载速度,提升用户体验。了解并熟练运用CSS Sprite,是每一个前端开发者必备的技能之一。通过合理的设计和工具支持...
**CSS Sprite技术详解** CSS Sprite,也被称为雪碧图,是一种网页图像处理方式,它将多个小图标合并到一张大图中,通过CSS定位来显示需要的图标部分,以此达到减少HTTP请求,优化页面加载速度的效果。在网页设计中...
**CSS Sprite技术详解** CSS Sprite,也被称为雪碧图,是一种网页图像处理方式,它将多个小图标合并到一张大图中,通过CSS的background-position属性来定位显示所需的小图标,以此达到减少HTTP请求,提高页面加载...
**CSS Sprite技术详解** 在网页设计中,CSS Sprite(CSS精灵)是一种常见的优化网页加载速度的方法,通过将多个小图像合并成一个大图,然后利用CSS的背景定位属性来显示需要的部分,以此减少HTTP请求次数,加快页面...
CSS Sprite是一种网页图像优化技术,它将多个小图合并到一张大图中,减少HTTP请求,从而加快网页加载速度。这种技术在Web开发中被广泛使用,尤其在处理背景图像时,可以显著提升页面性能。标题提到的"css sprite ...
CSS Sprite是一种网页优化技术,用于减少HTTP请求的数量,从而提高页面加载速度。它将多个小图合并成一张大图(通常称为精灵图),然后通过CSS定位显示需要的部分。这种技术在网页设计和前端开发中广泛应用,尤其...
**CSS Sprite技术详解** 在前端开发中,CSS Sprite(CSS精灵)是一种常见的优化网页加载速度的技术,通过将多个小图像合并成一个大图,减少HTTP请求次数,从而提高页面加载效率。这种技术尤其适用于需要频繁使用的...
为了优化网页性能,提高页面加载速度,一种名为“CssSprite”(雪碧图)的技术应运而生。雪碧图是一种将多个小图标合并到一张大图中的方法,通过CSS定位来显示需要显示的部分,从而减少了HTTP请求的数量,进而提升了...
"雪碧图工具CssSprite.exe"是一个专为生成雪碧图并自动生成对应的CSS代码而设计的软件,使得这一过程变得更加便捷高效。 在网页开发中,每个单独的小图都需要一个HTTP请求来获取,当页面中包含大量小图时,这些请求...
利用纯css制作的导航栏,随着鼠标的移动,每个栏目会变色,图标运用css sprite技术制作,减少了图片加载过多的烦恼,您指的拥有。利用纯css制作的导航栏,随着鼠标的移动,每个栏目会变色,图标运用css sprite技术...