`
gaojingsong
  • 浏览: 1211639 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【CSS雪碧图 介绍】

阅读更多

CSS雪碧图 即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用css的背景定位来显示需要显示的图片部分。CSS Sprites技术被国内一些人称为CSS雪碧图,其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置

 

 

CSS雪碧图的基本原理是把你的网站上用到的一些图片整合到一张单独的图片中,从而减少你的网站的HTTP请求数量。该图片使用CSS background和background-position属性渲染,这也就意味着你的标签变得更加复杂了,图片是在CSS中定义,而非<img>标签。

 

 

CSS知识点:

background-image

backgorund-position

CSS雪碧图特点:

相对于当个小图标,它节省文件体积和服务请求次数。将所有零碎的网页背景图片整合到一起,这样做可以有效的减少http对图片的请求次数,而不需要加载多次加载零碎的背景图片,所以合理的利用好它可以有效的提高网页的加载速度。

一般情况下,你需要保存为PNG-24的文件格式。

可以设计出丰富多彩的颜色体表。

CSS雪碧图难点:

你需预先确定每个小图标的大小

注意小图标与小图标之间的距离

细心、耐心

PNG-24的图片格式:PNG-24可减少毛边。

 

 

 

 

CSS雪碧图优点

减少加载网页图片时对服务器的请求次数

可以合并多数背景图片和小图标,方便在任何位置使用,这样不同位置的请求只需要调用一个图片,从而减少对服务器的请求次数,降低服务器压力,同时提高了页面的加载速度,节约服务器的流量。

提高页面的加载速度

sprite 技术的其中一个好处是图片的加载时间(在有许多 sprite 时,单张图片的加载时间)。由所需图片拼成的一张 GIF 图片的尺寸会明显小于所有图片拼合前的大小。单张的 GIF 只有相关的一个色表,而单独分割的每一张 GIF 都有自己的一个色表,这就增加了总体的大小。因此,单独的一张 JPEG 或者 PNG sprite 在大小上非常可能比把一张图分成多张得来的图片总尺寸小。

减少鼠标滑过的一些bug

IE6不会主动预加载鼠标滑过即a:hover中的背景图片,所以,如果使用多张图片,鼠标滑过会出现闪白的现象。使用CSS雪碧,由于一张图片即可,所以不会出现这种现象。

 

 

 

CSS雪碧图不足

CSS雪碧的最大问题是内存使用

除非这个雪碧图片是被非常小心的组织,你就会最终使用大量的无用的空白。一个例子是来自于WHIT TV的网站。注意这是一个1299×15,000像素的PNG图片。它也被压缩的很好——实际下载大小只有大概26K — 但是浏览器并不会渲染压缩后的图片数据。当这个图片被下载并被解压缩之后,它将占用差不多75MB的内存 (1299 * 15000 * 4)。如果这个图片并没有使用alpha透明,它将会被优化至1299 * 15000 * 3,但是要在损失渲染速度的情况下。即使那样,我们也会讨论55MB。这张图片的大部分其实就是空白,那里什么都没有,没没有任何有用的内容。只是加载 WHIT主页 就会导致你的浏览器的内存占用上升到至少75+MB,仅仅是因为那一张图片。(PS:遗憾的是,该网站最近已经改版,文中提到的图片已经不存在了)

影响浏览器的缩放功能

如果一个使用CSS雪碧的页面使用一些浏览器提供的整页缩放功能缩放了,浏览器就需要做一些额外的工作来纠正这些图片边缘的行为——基本上来说,是为了避免雪碧中相邻的图片被“露进来”。这对于小图片没有什么问题,但是对于大图片会是一个性能下降。

拼图维护比较麻烦

拼合这么多图片,需要耐心。同时还要时刻思考如何在使用这个图片是不会产生相互的影响。将又瘦又高的图片和又宽又矮的图片放到一起时,不容易操作。如果要修改雪碧中的一个图片,你就要修改整张图片,这无疑会增大工作量。

使CSS的编写变得困难

如果CSS雪碧足够复杂,则大大增加了CSS的代码量和难度,让维护和修改变得困难起来。

CSS 雪碧调用的图片不能被打印

CSS 雪碧调用的图片不能被打印,除非在@media中特别添加 print声明。

错误得使用 Sprites 影响可访问性

一些刚入门的开发人员会为了节省 HTTP 请求数(这是使用 CSS Sprite 一直强调的好处)而把所有的图片都当背景图片来处理 – 甚至是那些传达重要信息的图片。结果会导致一个缺乏可访问性的网站,也会降低 HTML 中 title 和 alt 的潜在益处。

因此,CSS sprite 本身没错,而且也不会引发可访问性问题(事实上,正确得使用会提高可访问性)。但是不分对错得过度使用 sprite 会阻碍具有可访问性和生产率方面的网页建设进程。

0
0
分享到:
评论

相关推荐

    css雪碧图制作工具

    这个“css雪碧图制作工具”就是为了方便开发者高效地创建和管理雪碧图而设计的。 在网页开发中,每一张单独的图片都需要发送一个HTTP请求,这在大量小图标存在的页面中会显著增加页面加载时间。雪碧图的出现,就是...

    雪碧图css工具

    雪碧图(Sprite)是一种网页图像处理方式,它将多个小图像合并到一张大图(称为雪碧图或精灵图)中,然后通过CSS样式控制显示其中的部分图像,以此达到减少HTTP请求,优化页面加载速度的效果。在网页设计中,尤其是...

    CSS雪碧图demo(含雪碧代码)

    本教程将详细介绍CSS雪碧图的工作原理、如何创建以及实战应用。 ### 一、雪碧图工作原理 雪碧图的核心思想是将网页中的多个小图标整合到一张大图中,然后利用CSS的背景定位属性`background-position`来显示需要的...

    CssSprite雪碧图

    **CssSprite雪碧图详解** 在网页设计中,图片的加载速度往往直接影响到用户体验。为了优化网页性能,提高页面加载速度,一种名为“CssSprite”(雪碧图)的技术应运而生。雪碧图是一种将多个小图标合并到一张大图中...

    css sprite 雪碧图生成小工具

    **CSS Sprite技术详解** CSS Sprite,也被称为雪碧图,是一种网页图像处理方式,它将多个小图标合并到一张大图中,...通过使用像"css sprite 雪碧图生成小程序"这样的工具,我们可以更加便捷地管理和应用雪碧图技术。

    css sprite 雪碧图生成小程序

    2. **CSS定位**:通过CSS的`background-image`属性设置雪碧图的URL,再利用`background-position`属性来定位要显示的图标在雪碧图中的位置。 3. **大小调整**:利用CSS的`width`和`height`属性调整元素大小,使之与...

    css sprite雪碧图生成小工具 v4.3

    css sprite雪碧图生成小工具 v4.3 css sprite 雪碧图生成小程序,已在github上开源,地址:https://github.com/iwangx/sprite ,请需要的朋友注意版本更新

    雪碧图工具CssSprite.exe

    "雪碧图工具CssSprite.exe"是一个专为生成雪碧图并自动生成对应的CSS代码而设计的软件,使得这一过程变得更加便捷高效。 在网页开发中,每个单独的小图都需要一个HTTP请求来获取,当页面中包含大量小图时,这些请求...

    CSS背景图片、雪碧图片合并工具CssSprite

    CssSprite是一款很好用的小图合并工具,能自动生成CSS代码,导入小图就可以直接用了~

    CssSprite(雪碧图制作工具)

    **CssSprite(雪碧图制作工具)** 在前端开发中,优化网页加载速度是至关重要的。其中,一种常见的优化策略就是使用CssSprite技术,也就是我们常说的“雪碧图”。雪碧图是一种将多个小图标合并到一张大图中,然后...

    css sprite雪碧图生成小工具 v2.0

    CSS Sprite,也被称为雪碧图,是一种网页图像处理方式,它将多个小图标合并到一张大图中,通过CSS的background-position属性来定位显示所需的小图标,以此达到减少HTTP请求,提高页面加载速度的效果。在Web性能优化...

    JAVA自动生成雪碧图、自动生成CSS样式文件

    雪碧图是将多个小图标合并到一张大图片中,然后通过CSS定位显示需要的图标。Java作为一种强大的后端开发语言,可以用于自动生成雪碧图和相应的CSS样式文件,以自动化这个过程。 本项目的核心目标是读取指定目录下的...

    CSS雪碧图

    **CSS雪碧图技术详解** 在网页设计中,CSS雪碧图(Sprite)是一种优化页面加载速度和减少HTTP请求的技术。它将多个小图像合并到一个大图中,然后通过CSS定位来显示需要的部分,从而减少了浏览器加载多个图片时产生...

    css sprite雪碧图生成小工具 v4.0

    css sprite 雪碧图生成小程序,已在github上开源,地址:https://github.com/iwangx/sprite ,请需要的朋友注意版本更新,下载最新版。 博客园地址:http://www.cnblogs.com/wang4517/p/4493917.html

    简易亚马逊雪碧图

    3. **CSS编写**:编写CSS样式,使用`background-image`属性设置雪碧图的URL,然后通过`background-position`来调整背景位置,展示出雪碧图中需要的部分。 4. **HTML应用**:在HTML中应用这些CSS类,将雪碧图中的每...

    网页雪碧图制作神器--CssSprites Maker 雪碧图制作专家V1.0

     可减轻广大Web程序员或网站网页设计爱好者制作雪碧图时的苦恼、愉快地享用CSS雪碧图网页开发技术。  在网页中使用雪碧图技术,有如下优点:  1.减少加载网页图片时对服务器的请求次数;  2.提高网页的加载速度...

    TexturePackerGUI css sprite 雪碧图

    TexturePackerGUI css sprite 雪碧图 破解版 亲测完全没有问题。包内带有安装方法,1/2两部曲,5秒钟安装完。小白都可以用

    CssSprite雪碧图制作工具

    **CssSprite雪碧图制作工具详解** 在网页设计与开发中,CSS Sprite(通常被称为“雪碧图”)是一种常见的优化网页加载速度的技术。通过将多个小图标合并到一张大图(雪碧图)中,然后利用CSS的背景定位来显示需要的...

Global site tag (gtag.js) - Google Analytics