一、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介绍相关推荐

  1. html精灵图资源,知识分享:HTML5+CSS3基础之CSS Sprites(CSS精灵)

    原标题:知识分享:HTML5+CSS3基础之CSS Sprites(CSS精灵) CSS Sprites介绍 Css sprites 可翻译为css精灵,也有人翻译为css雪碧,因为sprite也有雪 ...

  2. html5教程精灵,HTML5+CSS3基础之CSS Sprites(CSS精灵)

    CSS Sprites介绍 Css sprites 可翻译为css精灵,也有人翻译为css雪碧,因为sprite也有雪碧的意思.在国内习惯成他为图片整合技术,说起来这个称呼也是满贴切的,因为他确实是多 ...

  3. html中sprite标签,网页切图 CSS Sprites(CSS精灵)介绍和图文使用教程

    CSS Sprites 技术对于广大的前端工程师来说应该是一点也不陌生.这个被国内开发者昵称为CSS精灵.CSS雪碧的家伙到底解决了什么问题,我们又怎样合理使用这个技术呢?下面让我们详细的聊聊. 在大 ...

  4. css 在线生成器,CSS Sprites在线生成器

    一款优秀的主题,不仅仅需要美观的设计,还需要最大的各项优化,最大可能地优化主题中用到的图片,也就变得十分重要,使用CSS Sprites技术是比较常见的手段,很多优秀的主题都很注重这一点.跟版模板网在 ...

  5. css中图片整合的使用,CSS Sprites:图片整合技术详细案例

    CSS Sprites 的目的就是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度.介绍了CSS Sprites技术的实现方法,优点和缺点.最后通过实例CSS Sprites技术制作导航栏演 ...

  6. 使用CSS sprites减少HTTP请求

    sprites是鬼怪,小妖精,调皮鬼的意思,初听这个高端洋气的名字我被震慑住了,一步步掀开其面纱后发觉很简单的东西,作用却很大 神马是CSS 小妖精 CSS sprites是指把网页中很多小图片(很多 ...

  7. “约见”面试官系列之常见面试题之第五十一篇之CSS Sprites(建议收藏)

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

  8. html背景图不显示_批量显示多张有序排列的图标,使用精灵图CSS Sprites这种办法...

    让你显示一个天气图标你会怎么显示呢?让你做一个简单的动图你会怎么采用什么方式呢?让你输出一个长期固定的图标列表你会怎么编写代码呢? 如果不管性能,不用css,不用js,可能你会这么写html: < ...

  9. CSS Sprites原理

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

最新文章

  1. 深度学习--TensorFlow(3)线性神经网络(线性输入非线性输入)(实现)
  2. oracle数据库的详细安装,Oracle 11g数据库详细安装图文教程
  3. 从零开始开发JVM语言(十三)代码生成与ASM
  4. apache kafka_Apache Kafka消费者再平衡
  5. nfc/nfc模式_NFC的完整形式是什么?
  6. java彩票案例_java彩票例子
  7. C++ 堆区和栈区的区别
  8. SDL学习——画图、点阵显示
  9. 性能测试负载模型(十)
  10. Java集合笔记,实用!!
  11. 通信算法之二:信道编码译码 BCH码、RS码、卷积码、Turbo码、LDPC码
  12. 如何测试串口线是否发生故障
  13. TYPEC-CC逻辑芯片-E-MARK数据线-浅析
  14. Redis数据库简介
  15. python实现RsaWithSHA256签名以及国密Sm3WithSm2签名
  16. js统计字符串中字母个数以及统计最多字母数
  17. 【Vue系列】Vue3.0知识点汇总整理
  18. 使用微信小程序editor富文本编辑器(爬坑要点)
  19. 【C++学习笔记2】构造函数、析构函数、函数多态、抽象类、函数模板
  20. 【入门到精通】安装与运行PHP脚本语言

热门文章

  1. 利用While循环打印输出菱形
  2. 创建更好的移动Demo:工具篇
  3. 使用SQL查询数据库中重复的数据的的三种方法
  4. Ubuntu 18.04增加swap分区
  5. 当下企业信息化的痛点以及相关解决方案
  6. 中国正携区块链下一步新金融的大棋,深圳极可能成为落子的第一步
  7. js中输入两个数,判断奇偶数
  8. 模拟停车场管理系统(数据结构)
  9. 【POJ1734】Sightseeing Trip 无向图最小环
  10. hdu4864 Task