`
xiaoluode
  • 浏览: 14647 次
  • 来自: 深圳
社区版块
存档分类
最新评论

css sprites介绍

阅读更多

一、CSS Sprites简介

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

CSS Sprites允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需顾忌这个问题。

 
加速的关键,不是降低质量,而是减少个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请求。所以,图片越多请求次数越多,造成延迟的可能性也就越大。
 
 
 
二、CSS Sprites工作原理 
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,在需要用到图片的时候,通过CSS属性background-image组合background-repeat, background-position等来实现。
 
通过调整background-position的数值,背景图片就能以不同的面貌出现在你眼前。其实图片整体面貌没有变,由于图片位置的改变,你看到只该看到的而已。就好比手表上的日期,你今天看到是21,明天看到是22,是因为它的position往上跳了一格。所以你也大概了解到,CSS Sprites一般只能使用到固定大小的盒子(box)里,这样才能够遮挡住不应该看到的部分。
 

 

三、CSS Sprites优点  

1、利用CSS Sprites能很好地减少网页的http请求,从而大大的提高页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
 
2、CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。
 
3、解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。
 
4、更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。

 

 

四、CSS Sprites缺点

1、在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内出现不必要的背景;这些还好,最痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;

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

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

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

 

 

五、CSS Sprites图片切割术

1、CSS Sprites图片顺序合图片由上至下、左至右添加。而background-position一般采用数字组合形式定位,这样能减少维护带来的不必要麻烦。
2、不建议CSS Sprites图片中保持一定的间距,因为文件size增大而增加文件体积。


3、CSS Sprites图片中把颜色较近或相同的组合在一起可以降低颜色数,因为少色数的图片文件体积会相对的小。
4、size相同的CSS Sprites图片中留有较大空隙,某程度上多数情况会增大了体积,所以CSS Sprites的图片不要有空隙。


5、在size相同的CSS Sprites图片中,垂直排列的图片会比水平排列的文件体积要大。
6、在CSS Sprites图片中,水平排列的图片会比垂直排列的文件体积要大。


7、图片对等合并:应用CSS Sprites图片时,适当地把对等相同的图像合并,以节省空间及减少体积。
8、区分开不需要合并的图像:如当前用户确定只显示一种状态或一个级别时,不必要把其他的级别或状态的图片合并。
9、黄金切割位:在CSS Sprites图片的最右或左边为最灵活动位置最适宜摆放文本前的icon,因此不会受到其它CSS Sprites图片干预,也不需要预留一定的行宽。

 

 

六、CSS Sprites实例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style>
div#tools h5    {
    margin: 0 0 10px 0;
    padding: 0;
    overflow:hidden;
}
div#tools h5#tools_reference, div#tools h5#tools_quiz {
    text-indent: -9999px;
    width: 120px;
    height: 45px;
}
div#tools h5#tools_reference a,  div#tools h5#tools_quiz a {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    text-decoration: none;
}
div#tools h5#tools_reference a    {
    background: transparent url(图片URL) top left no-repeat;
}
div#tools h5#tools_reference a:hover    {
    background: transparent url(图片URL) 0 -45px no-repeat;
}
div#tools h5#tools_quiz a    {
    background: transparent url(图片URL) top left no-repeat;
}
div#tools h5#tools_quiz a:hover    {
    background: transparent url(图片URL) 0 -45px no-repeat;
}  
</style>
</HEAD>
<BODY>
  <div id="tools"> 
    <h5 id="tools_reference"><a href="">PHP 参考手册</a></h5> 
    <h5 id="tools_quiz"><a href="">PHP 测验</a></h5> 
  </div>
</BODY>
</HTML>
 
分享到:
评论

相关推荐

    CSS Sprites生成工具

    **CSS Sprites生成工具** CSS Sprites是一种网页图像优化技术,通过将多个小图像合并到一个单独的图像文件中,减少HTTP请求,从而提高页面加载速度。这种技术尤其适用于那些频繁使用的图标或小图片,例如导航按钮、...

    CSS Sprites技术

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

    CSS Sprites

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

    CSS Sprites样式生成工具.zip

    **CSS Sprites 知识详解** CSS Sprites是一种网页图像处理技术,用于优化网页加载速度,减少HTTP请求的数量。在网页设计中,如果一个页面上有多个小图标或背景图像,传统方式是每个图像都单独请求,这会增加页面...

    css sprites

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

    CSS Sprites 技巧

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

    css sprites样式生成工具 3.2.1

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

    CSS Sprites实例演示 代码

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

    CSS sprites

    CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。

    CSS Sprites 的小工具

    **CSS Satyr 工具介绍** CSS Satyr 是一款专门用于生成CSS Sprites的工具,其特点包括: 1. **批量添加图片**:用户可以方便地一次性导入多个小图像文件,极大地提高了工作效率。 2. **拖动排列**:工具允许用户...

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

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

    css Sprites精灵图制作

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

    CSS Sprites样式生成工具

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

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

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

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

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

    css sprites工具 bg2css_1.4.1

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

    CSS Sprites 样式生成工具(bg2css)

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

    CSS Sprites工作原理

    CSS Sprites是一种优化网页加载速度的技术,通过合并多个小图像到一张大...随着技术的发展,例如CSS Grid和Flexbox等布局技术,以及对CSS变量的支持,CSS Sprites的使用变得更加灵活,同时也降低了管理和维护的复杂性。

    也来折腾折腾css sprites

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

    css sprites图片背景优化技术

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

Global site tag (gtag.js) - Google Analytics