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

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 的小工具

    CSS Satyr(CSS 塞特斯)是一款 CSS Sprites 的小工具。可以将多个小图片整合成一张图片,并生成相应的CSS调用代码。支持批量添加图片/拖动排列/自动生成

    CSS Sprites

    CSS Sprites适合新手学习,介绍了怎么将多张图片做成一张图片都,通过CSS来调用

    css sprites样式生成工具 3.2.1

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

    css sprites

    css sprites 、css精灵 、css整合小图片工具,可以把网站中的小图片整合成一张图片,减小服务请求次数

    CSS Sprites实例演示 代码

    CSS Sprites实例演示 CSS Sprites实例演示 CSS Sprites实例演示 CSS Sprites实例演示CSS Sprites实例演示 CSS Sprites实例演示

    CSS Sprites技术

    CSS Sprites技术bg2css_v3.2.1

    CSS Sprites样式生成工具.zip

    CSS Sprites样式生成工具.zip

    CSS sprites

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

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

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

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

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

    CSS Sprites工作原理

    CSS Sprites工作原理CSS Sprites工作原理

    CSS Sprites 样式生成工具(bg2css)

    CSS Sprites是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,也就是CSS Sprites(图片合并)技术。

    CSS Sprites实现图片分组动画效果

    什么是CSS Sprites?CSS Sprites就是可以将许多图片集成在一张大图上,然后利用CSS的图片定位技术将其分割开来。这款CSS3图片效果就是可以将分割完的小图片实现分组的动画效果,我们只需要点击按钮即可切换到相应的...

    css sprites把很多小图集成在一张图片上

    css sprites把很多小图集成在一张图片上 css sprites把很多小图集成在一张图片上 css sprites把很多小图集成在一张图片上 css sprites把很多小图集成在一张图片上

    css sprites工具 bg2css_1.4.1

    CSS Sprites 样式生成工具,准确定位输出图片的位置和大小

    CSS Sprites简介以及优缺点

    CSS Sprites简介 通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟,阿里巴巴各子公司的网页中到处都可发现css sprites 的影子。但CSS Sprites并...

    csssprites_3.2.1

    csssprites_3.2.1.zip

    CSS Sprites样式生成工具

    利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能 这是一个air环境,安装了之后就可以打开.air文件了

    cssSprites

    css图片整合软件 cssSprites css图片整合软件 cssSprites

Global site tag (gtag.js) - Google Analytics