`
JYY282
  • 浏览: 24729 次
  • 性别: Icon_minigender_2
  • 来自: 无锡
社区版块
存档分类
最新评论

《转》多个图片整合到一张图片上,css网页背景定位

    博客分类:
  • CSS
 
阅读更多

众所周知,减少网站加载时间的最有效的方式之一就是减少网站的HTTP请求数。实现这一目标的一个有效的方法就是通过CSS Sprites——将多个图片整合到一个图片中,然后再用CSS来定位。

CSS Sprites 的目的就是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度。

 

实现方法:

首先将小图片整合到一张大的图片上,为了简单化,可以把多图放在同一列上,这样就可以把x轴定义为0。

然后根据具体图标在大图上的位置,给背景定位。background-position:-8px -95px;

例子:

我们使用上图中的auther.gif作为背景时,如果代码如下:

<div class="max">最大化</div>

这两个class都使用同一个图片:

.max {

width:16px;

height:16px;

background-image:url(/images/css-sprites.gif);

background-repeat: no-repeat; //我们并不想让它平铺

text-indent:-999em; //隐藏文本的一种方法

}

效果都只能得到上图中的tag_icon.gif中的图为背景,根本无法得到我们需要的背景。因为我们还没有指定background-position,默认为 0 0,可以看下上图,刚好是tag_icon.gif图。好了,我们要找到代表auther.gif的图在大图中的位置找出来。经过测量,按钮位于Y轴的350px处,按钮位于x轴50px处。想一想我们如何才能让它们能够显示出来呢?明显得到代码如下:

.max {

background-position: 50 -350px;

}

耶,我们成功了:

(注意:为了举例的方便,本例子直接在HTML内置样式,切勿在实践中的非特殊情况使用这种方式)。

优点

我们从前面了解到,CSS Sprites为什么突然跑火,跟能够提升网站性能有关。显而易见,这是它的巨大优点之一。普通制作方式下的大量图片,现在合并成一个图片,大大减少了HTTP的连接数。HTTP连接数对网站的加载性能有重要影响。

缺点

至于可维护性,这是一般双刃剑。可能有人喜欢,有人不喜欢,因为每次的图片改动都得往这个图片删除或添加内容,显得稍微繁琐。而且算图片的位置(尤其是这种上千px的图)也是一件颇为不爽的事情。当然,在性能的口号下,这些都是可以克服的。

由于图片的位置需要固定为某个绝对数值,这就失去了诸如center之类的灵活性。

前面我们也提到了,必须限制盒子的大小才能使用CSS Sprites,否则可能会出现出现干扰图片的情况。这就是说,在一些需要非单向的平铺背景和需要网页缩放的情况下,CSS Sprites并不合适。YUI的解决方式是,加大图片之间的距离,这样可以保持有限度的缩放。

总结

性能压倒一切。CSS Sprites是值得推广的一种技术。尤其适宜用于FIR,比如固定大小的icon替换。为保持兼容性,图片中的各个部分保持一定的距离是一种不错的做法。

 

  • 大小: 16.9 KB
分享到:
评论

相关推荐

    CSS3网页背景音乐动画代码.zip

    3. **精灵图(Sprite Sheets)**:为了提高性能,开发者可能会使用精灵图技术将多个小图像合并成一张大图,然后通过CSS的背景定位来显示需要的部分。这样可以减少HTTP请求,加速页面加载。 4. **媒体查询(Media ...

    Css Sprite Tools(CST CSS图片拼合定位工具) 1.0 

    在网页设计中,CSS Sprite(CSS精灵)是一种常见的优化网页加载速度的方法,通过将多个小图像合并成一个大图,然后利用CSS的背景定位属性来显示需要的部分,以此减少HTTP请求次数,加快页面加载速度。CST CSS图片...

    浅谈css中图片定位之所有图标放在一张图上

    在网页设计中,CSS(Cascading Style Sheets)图片定位是一项关键技能,它能帮助开发者高效地管理和展示网站上的图像,尤其是当需要将多个图标整合到一张图片(通常称为雪碧图或精灵图)上时。这种方法可以显著提高...

    css工具,包含精灵图片生成,css压缩

    精灵图是一种将多个小图像合并到一张大图中的技术,通过CSS的背景定位来显示所需的图像部分。这种方法减少了网页加载时的HTTP请求次数,提升了页面加载速度。bg2css工具能够帮助开发者自动整合图片并生成相应的CSS...

    css sprites图片背景优化技术

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

    图片按钮代码(js+css)

    比如,原始状态下的图片按钮可能显示一张静态的图标,而当用户将鼠标悬停在按钮上时,图片会切换到另一张表示激活状态的图片。 在实际应用中,开发者会将这些JavaScript和CSS代码整合到HTML文件中,通过事件监听、...

    日常生活CSS网页模板

    "日常生活CSS网页模板"是一个设计精美的网页模板,主要用于个人或商业网站的构建,它将CSS(层叠样式表)技术巧妙地应用到日常生活的场景中,为用户提供了一个直观、美观且易于定制的网页布局。这个模板包含了丰富的...

    div+css网页模板

    这些模板通常包含首页、关于我们、产品展示、新闻动态、联系我们等多个页面,为快速搭建网站提供了基础框架。 对于做毕业设计的学生来说,这样的模板尤其有用。他们可能不具备深厚的设计功底,但通过选择合适的模板...

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

    它将多个小图片合并到一张大图(通常为PNG格式)上,然后通过CSS的`background-image`属性设置这张大图,并利用`background-position`来定位显示其中的某个小图片。 实现CSS Sprites的基本步骤如下: 1. **整合...

    CSS Sprites 的小工具

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

    css 图片生成器(各种小图智能帮你排版)

    这个名为"css 图片生成器"的工具专门针对一个常见的设计问题:如何有效地将多张小图片整合到一张大图中,以便通过CSS进行精确定位和显示。这种做法在提升网页加载速度、优化资源管理以及实现复杂的网页背景或图标...

    html+css3期末设计模板网页设计期末大作业期末网页.zip

    CSS3的新特性如选择器层级、多列布局、媒体查询(适应不同设备)、阴影、边框半径和过渡效果都可能被用到,以实现现代网页设计的视觉效果。 3. **jQuery/jq**:jQuery是一个JavaScript库,简化了JavaScript的DOM...

    Css Sprite

    通过将多个小图标或者背景图片整合到一张大图(Sprite 图)中,再利用CSS的背景定位功能来显示需要的部分,可以有效地减少网络传输的数据量,降低服务器负载,提高网页性能。 **一、CSS Sprite的工作原理** 1. **...

    CSS Sprites 样式生成工具(bg2css)

    CSS Sprites,又称为CSS精灵,是网页优化的一种技术,通过将多个小图像合并成一个大的图像文件,然后利用CSS的背景定位功能,来显示所需的小图像部分。这种方法减少了HTTP请求的数量,从而提高了网页加载速度,尤其...

    CSS Sprites 圆角制作教程

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

    js css样式放大镜

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

    雪碧图工具CssSprite.exe

    雪碧图(Css Sprite)是一种在网页设计中广泛使用的优化技术,它将多个小图片合并成一张大图,以此减少HTTP请求,加快页面加载速度,提高用户体验。"雪碧图工具CssSprite.exe"是一个专为生成雪碧图并自动生成对应的...

    CSS图片优化的一些相关建议

    通过将多个小图片合并到一张大图中,然后利用CSS背景定位来显示所需的图像部分。 CSS Sprites的实现方法如下: 1. 首先,你需要将所有的小图片拼接成一张大图。在整合过程中,建议按照从上到下的顺序排列,而不是...

    夜总会CSS网页模板

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

    bg2css_v3.0.rar

    通过将多个小图标或背景图像合并到一张大图(称为精灵图)中,然后在CSS中使用背景定位来显示所需的单个图像部分,从而减少了网络请求的数量,提高了页面加载效率。 【标签】"bg2css_v3.0.rar" 和 "css sprites" ...

Global site tag (gtag.js) - Google Analytics