`
chungle
  • 浏览: 59971 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解密CSS Sprites:技巧、工具和教程(译言)

阅读更多

CSS Sprites并没有一个确定的中文翻译,通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟。CSS Sprites并不是什么金科玉律,但在很多情况下,它有着一定的优势,最重要的是它可以减轻服务器的负载,提高网页加载速度。

本文系统的介绍了CSS Sprites的概念、用途和用法,相信本文会解决你在使用CSS Sprites中遇到的大部分问题。

什么是CSS Sprites?

“Sprite”(精灵)这个词在计算机图形学中有它独特的定义,由于游戏、视频等画质越来越高,必须有一种技术可以智能的处理材质和贴图,并且要 同时保持画面流畅。“Sprite”就是这样一种技术,它将许多图片组合到一个网格上,然后通过程序将每个网格的内容定位到画面上。

Sprite被定位到一副静态图片上,并且通过简单的程序或硬件即可正确定位到画面上,一幅幅图片就像是被“变”出来的,他们并没有单独占用内存,所以被取名为“Sprite精灵”。

 

Screenshot

上图是口袋妖怪的组合图片,可以点这里欣赏更多。不是加载每个但以图片

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

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

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

CSS Sprites用在哪里?

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

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

Xing

这个网站将一些按钮、图标以及LOGO做成了CSS Sprites:

Screenshot

Amazon
亚马逊使用的大幅、整齐巧妙的CSS Sprites:

Screenshot

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

Screenshot

YouTube
YouTube使用了一个2008像素高的CSS Sprites:

Screenshot

CNN
CNN使用了非常简单谨慎的方案:

Screenshot

Digg
Digg的方案比较复杂:

Screenshot

Yahoo
Yahoo将他们漂亮的图标等距离排布起来:

Screenshot

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

Screenshot

Dragon Interactive
一个丰富多彩的CSS Sprites方案:

Screenshot

TV1.rtp.pt
一个很大很酷的CSS Sprites方案

Screenshot

CSS Sprites常用来合并频繁使用的图形元素,如导航、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介绍文章之一

Screenshot

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

Screenshot

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

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

Screenshot

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

CSS Sprites

Creating Easy and Useful CSS Sprites

一篇教程,其源文件可下载学习

Screenshot

Fast Rollovers Without Preload

一个快速翻转效果的例子

Screenshot

CSS Sprites + Rounded corners

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

Screenshot

CSS Image Sprites

一篇教程

Optimize Your Website Using CSS Image Sprites

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

Screenshot

Animated GIF For CSS Sprites

一个比较特别的应用

Screenshot

Image Sprite Navigation With CSS

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

Screenshot

Advanced CSS Menu

还是悬停效果

Screenshot

Creating and Using CSS Sprites

一个非常基本的教程

CSS Sprites Screenshot

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的图像映射的简单例子。你可以同传统的方式对比一下优劣。

Screenshot

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

Screenshot

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

Screenshot

CSS Sprites技术

margin-top: 5px; margin-right: 0px; margin-bottom: 5p

分享到:
评论

相关推荐

    CSS Sprites样式生成工具.zip

    总的来说,CSS Sprites是提高网页性能的重要技巧,通过合理使用CSS Sprites工具,可以更有效地管理和优化网页的图像资源,提高用户体验。同时,掌握这一技术对于前端开发者来说是必备的技能之一。

    css sprites样式生成工具 3.2.1

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

    CSS Sprites生成工具

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

    CSS Sprites 技巧

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

    CSS Sprites 的小工具

    **CSS Sprites 知识详解** CSS Sprites 是一种网页图像优化技术,通过将多个小图合并到一张大图(通常称为...在现代网页开发中,熟练掌握CSS Sprites的使用和工具的配合,能有效提升网站性能,提供更好的用户体验。

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

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

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

    CSS Satyr是一款非常实用的CSS Sprites生成工具,特别适合设计师和开发者使用。它具有易用、高效的特点,能够帮助用户快速地整理和合并图像。 CSS Satyr的主要功能包括: 1. **拖放操作**:用户可以方便地通过拖放...

    CSS Sprites 样式生成工具(bg2css)

    **CSS Sprites 知识点详解** CSS Sprites,又称为CSS精灵,...综上所述,CSS Sprites是一种有效的网页优化技术,`bg2css`工具则是实现这一技术的实用辅助工具,它简化了图片合并和CSS代码生成的过程,提高了网页性能。

    fis-spriter-csssprites:csssprite

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

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

    "bg2css_v3.0"工具可以帮助设计师和开发者高效地创建和管理CSS Sprites。它能自动合并图片并生成相应的CSS代码,使得在网页设计中应用这些精灵图变得简单易行。以下是这款工具的一些核心功能和使用方法: 1. 图片...

    CSS Sprites样式生成工具

    1. **图像合并**:首先,你需要将网页中所有的小图标或者背景图片合并到一张大图中,通常这一步会使用专门的CSS Sprites生成工具,如标题中提到的工具,它可以自动帮你完成这个过程。 2. **CSS定位**:在合并完图片...

    CSS Sprites

    ### 四、CSS Sprites的工具与技巧 1. **自动化工具**:存在许多自动化工具如SpriteMe、CSS Sprite Generator等,能帮助快速生成合并图和对应的CSS代码。 2. **预处理器支持**:使用Sass或Less等CSS预处理器,可以...

    CSS Sprites技术

    - 例如,文中提到的`bg2css_v3.2.1`可能是指一款CSS Sprites生成工具的具体版本号。 #### 四、CSS Sprites技术的应用场景 1. **导航栏图标**:网站顶部的导航栏通常包含多个图标,使用CSS Sprites技术可以将这些...

    css sprites

    5. **工具支持**:有许多在线工具和自动化库可以帮助生成和管理CSS Sprites,例如SpritePad、CSS Sprite Generator和Compass框架的Sprite Mix插件。这些工具可以自动合并图像并生成相应的CSS代码,简化了开发过程。 ...

    css sprites工具 bg2css_1.4.1

    "bg2css_1.4.1" 是一个专门用于生成CSS Sprites样式的工具,它可以帮助开发者更方便、准确地定位和设置精灵图中各个小图的位置和大小,从而简化CSS代码的编写。 **一、CSS Sprites工作原理** 1. **合并图像**:...

    CSS Sprites 圆角制作教程

    在本教程中,CSS Sprites被用来实现圆角效果,即将四个不同角度的圆角图像整合到一张图片中,通过CSS定位显示需要的部分。 【圆角制作】在CSS3之前,由于浏览器对CSS2.1标准的支持限制,创建圆角通常需要使用一些...

    CSS Sprites Generator CSS Sprites生成工具 v2.0官方版

    为您提供CSS Sprites Generator CSS Sprites生成工具下载,CSS Sprites Generator是一款CSS Sprites生成工具,用户只需要点击几下鼠标就可以非常容易地生成CSS Sprites。有效提高了设计师的页面加载效率,操作简单...

    CSS Sprites实例演示 代码

    7. **工具辅助**:有许多在线工具和库可以帮助自动化CSS Sprites的创建和管理,如SpritePad、CSS Sprites Generator等。 通过理解并熟练掌握CSS Sprites技术,开发者能够有效地优化网站性能,提高用户体验。然而,...

    css Sprites精灵图制作

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

    CSS Sprites Generator 雪碧图生成工具

    `CSS Sprites Generator` 是一款专门用于生成雪碧图的工具,能够帮助开发者快速整合和管理网页中的图标资源。 ### 一、雪碧图的工作原理 1. **合并图像**:雪碧图首先将多个小图像拼接成一张大图,通常是水平或...

Global site tag (gtag.js) - Google Analytics