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

CSS Sprites: CSS图片合并技术详解(ZZ)

    博客分类:
  • Web
阅读更多

CSS Sprites是最初的时候被直译为“CSS小鬼”、“CSS妖精”,后来慢慢的被意译为“CSS图片合并”、“图像拼合”等,个人觉得CSS图片合并 比较贴切CSS Sprites并不是一门新技术,而只是一种高级CSS技巧,它有着一定的优势,最重要的是它可以减轻服务器的负载,提高网页加载速度。

要学习和使用CSS Sprites并不难,需要的是耐心。如果你有这个耐心,就好好看看本文对CSS图片合并技术 的详解.

什么是CSS Sprites?

2000年开始,Web设计 向着精致、巧妙的方向发展。设计师们开始考虑使用非javascript 的方 式制作鼠标滑过、悬停菜单的效果,这时CSS Sprites应运而生,它基于同上文提到的游戏Sprite同样的原理,并且使用CSS更容易控制,很快的流行开来。

2004年,Dave Shea 提出了一种使用CSS控制组合图片的方案 ,将许过小的图片组合在一起,使用css定义背景属性,来控制图片的显示位置和方式。

当页面加载时,不是加载每个但以图片,而是一次加载整个组合图片。这是一个了不起的改进,它大大减少了HTTP请求的次数,减轻服务器压力,同时缩短了悬停加载图片所需要的时间延迟,使效果更流畅,不会停顿。

CSS Sprites用在哪里?

CSS图片合并可以用在很多场合,大字那个网站可以将许多单独的图片,以有机的方式组合起来,从而使其便于维护和更新。图片之间通常会留出较大的空 白,使 得图片不会影响网页的内容。但同时CSS Sprite大多使用于较固定的像素定位中,它的弹性较差,收到定位等因素的制约。所以,你需要在可维护性vs降低负载之间权衡利弊,选择最适合你的项目 的方式。

下面是一些CSS Sprites的使用范例:

Apple
苹果网站使用CSS图片合并来制作导航菜单的鼠标悬停效果:



Google
Google使用了极其简化的方案:


CSS图片合并常用来合并频繁使用的图形元素,如导航、LOGO、分割线、RSS图标 、按钮等。通常它们不会作为网页内容出现,因为涉及内容的图片并不是每个页面都一样。

关于CSS Sprites的文章

CSS Sprites: Image Slicing’s Kiss of Death

中文版 http://www.liquidroc.name/post/my_view_on_css_sprites.html

最权威的CSS Sprites介绍文章之一


CSS Sprites: What They Are, Why They’re Cool And How To Use Them
一片图文并茂的介绍文章


How Yahoo.com and AOL.com Improve Web Performance With CSS Sprites
介绍Yahoo、AOL等网站使用CSS图片合并降低服务器压力的案例。

What Are CSS Sprites?
又一片介绍文章


Sprite Optimization
Dave Shea的思考:是不是真的有必要简历复杂的大型CSS图片合并?答案是不!不要搞得太复杂,找到一个折中的方案才是正道。



 

Creating Easy and Useful CSS Sprites

一篇CSS图片合并教程,其源文件可下载学习


Fast Rollovers Without Preload

一个快速翻转效果的例子


CSS Sprites + Rounded corners

另一个例子:使用CSS Sprites实现背景圆角


CSS Image Sprites

一篇教程

Optimize Your Website Using CSS Image Sprites

非常详细的教程,介绍了CSS Sprites的原理和应用方法。


Animated GIF For CSS Sprites

一个比较特别的应用

2152343634 19 CSS Sprites: CSS图片合并技术详解

Image Sprite Navigation With CSS

怎样制作简单的悬停菜单效果


Advanced CSS Menu

还是悬停效果


Creating and Using CSS Sprites

一个非常基本的教程


CSS Sprites视频教程

How to Use CSS Sprites
David Perel解释了CSS Sprites的基本概念,并演示了如何在网页中使用它,长度:10分钟

Creating Rounded Buttons With CSS Sprites
继续上面的教程,展示了如何制作滑动按钮

Exactly How to Use CSS Sprites
Andres Fernandez 展示了 CSS Sprites如何加快加载时间和减少请求次数

How To Use CSS Sprites
Chris Coyier 展示了一个 CSS Sprites的范例,他将8幅图片组合在了一起,并且使用jquery 制作了一个小程序。

Faster Page Loads With Image Concatenation
对于复杂的网站,减少图片请求数量可以减轻服务器负担,这是许多站长所希望看到的。

CSS Image Sprites In 10 Minutes
另一个关于导航菜单的教程

CSS: Using Percentages in Background-Image
介绍背景图片定位的方法

利用CSS Sprites制作图像映射(image maps)

使用CSS Sprites,你可以对一个对象的一小部分加载翻转效果,使用负值的背景图片位置( background-position ),你可以创建基于CSS的图像映射,下面的文章讲述了这一技术:

CSS Image Maps Using Sprites
一个基于CSS的图像映射的简单例子。你可以同传统的方式 对比一下优劣。


City Guide Map Using Sprites
另一个横向定位的例子


Advanced Map Using Sprites
一个更高级的技术。


CSS Sprites技术

CSS Sprites 2
Dave Shea 使用jQuery扩展了经典的CSS Sprites, 他的技术可以让不同的链接之间使用组合图片,即使用户禁用了Javascript。

CSS Sprites2 Refactored: Building an Unobtrusive jQuery Plug-In
Joel Sutherland 制作的jQuery插件,整理了Dave Shea的功能,并简化了初始化设置。


Background Repeat and CSS Sprites
什么情况下使用CSS Sprites

CSS Sprite: Photoshop Script Combines Two Images for CSS Hover
这是一个可以导入photoshop 的动作设置,可以让你快速制作翻转按钮的背景图片。


Extending CSS Spriting
Jennifer Semtner 扩展了经典CSS Sprites技术,并讲述应该在什么时候使用它。

Sliding Doors Meets CSS Sprites
滑动门技术 “Sliding Doors of CSS .”

How to Preload Images When You Can’t Use CSS Sprites
如何处理CSS Sprites对网页内容的影响

JavaScript Sprite Animation Using jQuery
Alex Walker 结合CSS Sprites和jQuery,实现了“打开页面”的效果


IE6, CSS Sprites and Alpha Transparency
Julien Lecomte 讲述IE6下的透明hack问题

CSS Sprite 制作工具

Data URI Sprites
DURIS (Data URI [CSS] Sprites) 是一个管理网页图片的新工具,它可以最大限度的帮助你减少背景图片的数量,减少请求数。



Spritr
一个生成CSS Sprites的简单工具

Sprite Creator 1.0
同上

CSS Sprite Generator
制作CSS Sprites 的Drupal插件

CSS Sprites Generator
这个工具允许你上传多张图片生成CSS Sprites和CSS代码

Projekt Fondue CSS Sprite Generator
它具有忽略重复图像,调整图像精度,确定横向和纵向偏移,指定背景色和透明度,指定CSS前缀等众多功能。

2152345429 30 CSS Sprites: CSS图片合并技术详解

SmartSprites
基于java的桌面程序

你可以继续以你自己的方式编写CSS和使用图像,有一个工具可以自动为你设置CSS Sprites,这里是PHP 版本 ,它是开源 的,具体可以看: Chris Brainard’s Sprite Creator 1.0 .

附:CSS属性background-position(图像背景位置)该如何设置

background-position(图像背景位置)这个属性是CSS中非常重要的属性。

根据CSS规范,background-position属性包含了两个(可选的)变量:水平位置(horizontal)和垂直位置(vertical),例如:


	.introduction {
	 background-image: url(bg.gif);
	 background-position: [horizontal position] [vertical position];
	 }
.introduction { 		background-image: url(bg.gif); 		background-position: [horizontal position] [vertical position]; 		}

使 用这个属性,你可以定义块级元素的背景图像位置,可以使用%百分比或px像素为单位来定义图像开始的位置,也可以使用关键字:top left, top center, top right, center left, center center, center right, bottom left, bottom center, bottom right.

在“ background-position: x% y%; ”这样一个语句中,x%指水平偏移,y%指垂直偏移,左上角是:0%,0%,右下角是:100%,100%,默认的是50%。

例如,你可以这样定义:

	ul li {
	 background-image: url(bg.gif)
	 background-position: 19px 85px;
	 },
ul li { 		background-image: url('/bg.gif'); 		background-position: 19px 85px; 		},

这样背景图片就被定位到了距离左侧19像素,距离上边85像素。

关于这个属性,可以在这里找到更详细的资料:background-position (CSS property)

 

 

  • 大小: 73.1 KB
  • 大小: 24.3 KB
  • 大小: 6.2 KB
  • 大小: 3.1 KB
  • 大小: 9.4 KB
  • 大小: 48.5 KB
  • 大小: 14.5 KB
  • 大小: 2.9 KB
  • 大小: 1.4 KB
  • 大小: 13.1 KB
  • 大小: 6.5 KB
  • 大小: 14.3 KB
  • 大小: 8.2 KB
  • 大小: 32.5 KB
  • 大小: 18 KB
  • 大小: 27.8 KB
  • 大小: 20.1 KB
  • 大小: 21.5 KB
  • 大小: 22.5 KB
  • 大小: 4.4 KB
  • 大小: 37.9 KB
  • 大小: 24.9 KB
分享到:
评论

相关推荐

    CSS Sprites

    **CSS精灵技术详解** 在网页设计中,CSS Sprites(CSS精灵)是一种高效优化页面加载速度的技术,尤其在处理大量小图时效果显著。通过CSS Sprites,我们可以将多张图片合并成一张大图,然后利用CSS背景定位来显示...

    CSS Sprites技术

    ### CSS Sprites技术详解 #### 一、CSS Sprites技术简介 CSS Sprites技术是一种将多个小图片合并成一张大图的技术,通过CSS背景定位来显示所需的特定小图部分。这种技术可以显著减少HTTP请求次数,提高网页加载...

    CSS Sprites 技巧

    **CSS Sprites 技巧详解** CSS Sprites是一种网页图像优化技术,源于计算机图形学中的精灵技术,旨在减少网络请求次数,提升网页加载速度。它将多个小图像整合到一张大图(称为Sprite图)中,然后利用CSS背景定位来...

    CSS Sprites生成工具

    3. **优化性能**:CSS Sprites生成工具通常会进行一些性能优化,如图像压缩,进一步减小文件大小,提高页面加载速度。 4. **易用性**:对于非开发者来说,使用图形化界面的工具更容易理解和操作,无需手动编写CSS...

    css sprites图片背景优化技术

    CSS Sprites图片背景优化技术是一种常见的前端性能优化策略,它将多个小图像合并到一张大图(称为sprites图)中,然后通过CSS的background-position属性来控制显示其中的某一部分。这种方法可以显著提高网站的加载...

    超好用的CSS Sprites生成工具:CSS Satyr(拖动排列/自动生成)

    - **图片质量**:在合并图片前,考虑是否需要对原图片进行压缩,以减小最终文件的大小。 - **更新维护**:当网站或应用有新的图片需求时,需及时更新CSS Sprites并调整CSS代码,确保所有图片都能正常显示。 总的来...

    CSS Sprites样式生成工具.zip

    而CSS Sprites通过将这些小图像合并到一张大图(称为Sprite图)中,然后利用CSS的background-position属性来定位显示图片的特定部分,从而减少了HTTP请求,提高了页面的加载效率。 **CSS Sprites的生成过程** 1. *...

    fis-spriter-csssprites:csssprite

    fis-spriter-csssprites 基于FIS的csssprites,对CSS文件,以及HTML文件CSS片段进行csssprites处理。支持repeat-x repeat-y , background-position和background-size 使用 FIS内置 环境要求 依赖本地插件,环境需要...

    css sprites

    这个技术的基本思想是将网站中多个小图标或背景图像合并到一张大图(称为精灵图)中,然后通过CSS的背景定位来显示所需的图像部分。这样做可以显著减少浏览器对服务器的请求次数,因为一个大的精灵图只需要一次HTTP...

    CSS Sprites 的小工具

    **CSS Sprites 知识详解** CSS Sprites 是一种网页图像优化技术,通过将多个小图合并到一张大图(通常称为精灵图或精灵片)中,减少HTTP请求次数,从而提升网页加载速度。这种技术在网页设计和前端开发中广泛应用,...

    CSS Sprites 样式生成工具(bg2css)

    **CSS Sprites 知识点详解** CSS Sprites,又称为CSS精灵,是网页优化的一种技术,通过将多个小图像合并成一个大的图像文件,然后利用CSS的背景定位功能,来显示所需的小图像部分。这种方法减少了HTTP请求的数量,...

    css sprites样式生成工具 3.2.1

    程序名称:CSS Sprites 样式生成工具(bg2css) 主要功能:方便使用CSS Sprites时对图片生成样式 安装条件:需先安装Adobe的AIR环境AdobeAIRInstaller.exe,这个我也传到csdn空间了,可以搜索下!

    css sprites工具 bg2css_1.4.1

    **CSS Sprites 知识详解** CSS Sprites是一种网页图像优化技术,通过将多个小图合并到一张大图(称为精灵图或精灵帧)中,减少HTTP请求次数,从而提高网页加载速度。在网页设计中,它是一个重要的性能优化策略,...

    CSS Sprites 样式生成工具(完整版,有air环境)

    它能自动合并图片并生成相应的CSS代码,使得在网页设计中应用这些精灵图变得简单易行。以下是这款工具的一些核心功能和使用方法: 1. 图片合并:工具能够将多张小图拼接成一张大图,这是CSS Sprites的基础。用户...

    CSS Sprites样式生成工具

    **CSS Sprites 知识详解** CSS Sprites是一种优化网页加载速度的技术,它将多个小图合并成一张大图(通常称为精灵图),然后通过CSS的背景定位来显示需要的部分。这种方法大大减少了网页中HTTP请求的数量,因为...

    CSS Sprites实例演示 代码

    **CSS精灵(CSS Sprites)**是一种网页图像优化技术,它允许我们将多个小图像合并到一个大图(称为精灵图)中,然后通过CSS的背景定位来显示我们需要的部分。这样可以减少网页HTTP请求的数量,从而提高页面加载速度...

    css sprites技术 CSS Sprites图片切割术与图片优化深入理解

    CSS Sprites技术是一种网页图像应用处理方式,它将多个小图像合并到一张大图中,然后通过CSS背景定位的方式只显示需要的部分。这种方式主要用于优化网页性能,减少HTTP请求,提高页面加载速度。以下是对CSS Sprites...

    也来折腾折腾css sprites

    ### CSS Sprites技术详解 #### 一、CSS Sprites简介 **CSS Sprites**(通常被称为CSS精灵)是一种被广泛采用的技术,用于提高网站性能,特别是在加载图片资源方面。通过这种方式,可以将多个小图像合并成一个较大...

    CSS Sprites 样式生成工具,快速定位背景图片

    CSS Sprites 样式生成工具(bg2css) 3.2.1 (需要AIR环境,可到 Adobe站点 下载安装。)

    css Sprites精灵图制作

    css Sprites精灵图制作。加快网页加载速度 浏览器接受的同时请求数是10个,如果图片过多会影响整体的视觉效果,而且对于不稳定的网络带宽,加载起来更是噩梦,所以把图片拼接为一张大图,从而加快加载速度,以及...

Global site tag (gtag.js) - Google Analytics