原标题:知识分享:HTML5+CSS3基础之CSS Sprites(CSS精灵)

CSS Sprites介绍

Css sprites 可翻译为css精灵,也有人翻译为css雪碧,因为sprite也有雪碧的意思。在国内习惯成他为图片整合技术,说起来这个称呼也是满贴切的,因为他确实是多张图片整合为一整图片的技术,为什么要把多张图整合到一张上呢,这样做有什么好处呢?因为这样的话,当您访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。

CSS Sprites原理

Css sprites是将多张零散的背景图片整合到一张背景图上,然后通过background-position来调整背景的位置,这个时候你必须确保使用该张精灵图的容器要比背景图片小才是OK的,不然很容易漏出其他的背景图片,所以尤其要控制好盒子的大小;其次,你还需要注意书写背景定位的时候极大多数都是负的,水平为负数,图片才会往左侧平移,所以才会显示出你需要的那部分背景图,垂直方向也是同理。当多个盒子引用一张背景图时,只需要改变背景定位就可以改变页面中的显示部分为哪一部分背景图,这样做的目的就是为了降低浏览器向服务器的请求次数,这样一来可以大大提高网页的加载速度。

CSS Sprites优缺点

CSS Sprites 的优点:

1、利用CSS Sprites能够减少浏览器向服务器的请求次数,减少http请求,从而提高页面的性能,这是图片精灵的最显著特点,也是被广泛应用的主要原因。

2、利用图片精灵还能减少图片的字节,你使用9张小的图片,一张4KB,9张就是36KB,而把他们都放一张图片上,只需要4KB到5KB就可,所以减少图片字节也是显而易见的。

3、在整理图片的过程中,不需要再纠结如此大量图片的名字问题,多张放在一张上,只需要取一个综合的名字就可以了,如此便提高了工作效率。

4、如果想改变网站风格,你只需要处理一张图片就可以了,把一张图片的颜色和风格一改,那么整个网站的风格就都变了,便于后期的维护和修改。

CSS Sprites 的缺点:

1、在应用精灵图片的时候,你需要考虑当前盒子会不会漏出其他的背景图,这个还好,比较头疼的是,页面自适应时,背景图的位置就没那么容易掌控了。

2、制作精灵图的过程比较繁琐,你需要处理好每张图之间的距离和位置,如果做得不合理,那么使用起来就比较麻烦了,甚至需要单独创建一个空的盒子来装背景图。

3、使用精灵图的页面后期维护带来了繁琐,因为他是多张图在一张图上,牵一发而动全身的感觉,你改变一张背景图,如果大小发生变化,那么其他的你就得动,只要你动了,那么所有的背景定位都将需要改变,所以一旦需要更改背景图的话,轻易不要改变其他图片的位置,原位能放下就在原位改,放不下就在下面添加。

CSS Sprites的使用

1、如果你的精灵图是整整齐齐的一竖排或者一横排,并且每一个背景图的尺寸都是一致的,那么你就幸运了,因为这样我们就不需要对每一个被那个图的位置都进行测量了,比如这张背景图:

他实现的页面效果就是和它等尺寸的一个小导航:

其中灰色为当前状态,橘色为鼠标以上的状态,这个精灵图就是个合理整齐的精灵图,代码书写起来也会方便很多,至少不需要每一个都进行测量,代码如下:

基本结构:

相关样式:

2、如果导航是横着的,那么精灵图最好都制作成竖向排列的,除非你的导航和背景相同尺寸,像如上案例,如果你没有做成竖向的,而做成了横向,那么你就需要一个单独的盒子来装背景图了,没办法使用padding-left来挤出背景的位置了,因为内容区也是支持背景的,请看这个背景图:

这张图不仅横向排列,而且周围多出很多空余的区域,这就会给前端带来很多的麻烦,这张图要实现的目标效果是:

看似很简单的页面,可是代码却比正常多出很多:

基本结构:

里面不得不使用一个span来装背景图;

相关样式:

单独对span进行定义样式。

3、精灵图也会经常和滑动门一起使用,这个时候你就需要注意了,同时编辑两个图片的位置关系,看下面页面效果:

使用的是下面两张精灵图:

这个时候你鼠标移上就需要改变两个背景定位了,尤其注意子盒子的水平位置,代码如下:

基本结构:

相关样式:

鼠标移上要同时改变两个标签的背景图片。

总结:在精灵图的使用过程中,精灵图做的标不标准就决定于页面书写的难易程度,所以说一个整齐规范的精灵图使用起来也是很舒服的。

这里再给大家陈列几张常见的精灵图:

这张精灵图实现的页面效果是:

这也是个不错的精灵图,使用起来方便快捷。

第二组是名鞋库里面的精灵图:

第一张使用起来就要比第二张方便的多。

还有这些:

这些都是精灵图,就是用来书写鼠标以上的酷炫效果的,精灵图不见得非得弄很多很多的图,太多了反而会增加负担,增加书写页面的负担,增加页面加载的负担。返回搜狐,查看更多

责任编辑:

html精灵图资源,知识分享:HTML5+CSS3基础之CSS Sprites(CSS精灵)相关推荐

  1. html5扩展函数的使用方法,知识分享:JavaScript基础语法

    知识分享:JavaScript基础语法 原创 mb5fd868d58f1472021-01-22 16:52:56©著作权 阅读数 41 ©著作权归作者所有:来自51CTO博客作者mb5fd868d5 ...

  2. android 精灵图的使用方法,css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  3. [css] 你是怎么设计css sprites(精灵图)的?有哪些技巧?

    [css] 你是怎么设计css sprites(精灵图)的?有哪些技巧? 首先肯定不会去用PS量,那太费时间了~ 没有webpack以前,用Gulp的gulp.spritesmith插件,这里附上配置 ...

  4. 【尚硅谷】Web前端零基础入门HTML5+CSS3基础教程

    [尚硅谷]Web前端零基础入门HTML5+CSS3基础教程 学习视频来源:哔哩哔哩弹幕网(https://www.bilibili.com/video/BV1XJ411X7Ud?spm_id_from ...

  5. HTML5+CSS3基础(day15)

    一.CSS定位(续) 1.综合案例-淘宝焦点图 (1)淘宝焦点图布局分析 (2)大盒子制作 (3)左.右侧箭头按钮制作 (4)ul盒子模块制作 (5)li小圆点模块制作 示例 <title> ...

  6. HTML5/CSS3基础——div盒子水平垂直居中的三种方案

    HTML5/CSS3基础--div盒子水平垂直居中的三种方案 一.基于定位的使div盒子水平居中的三种方式 1.使用top:50% left:50% 以及margin-top 和 margin-lef ...

  7. html中精灵图的使用方法,css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  8. css sprite 按钮,CSS Sprites (CSS 精灵) 技术

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

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

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

最新文章

  1. junit:junit_简而言之,JUnit:测试隔离
  2. 设计模式三大类及六大设计原则
  3. mysql管理命令 java_Mysql常用命令及操作
  4. python 去掉字符串第一个字符_10 个 Python 字符串处理技巧
  5. Hbase shell练习题
  6. Latente Wärme
  7. MySQL数据库权限操作指南
  8. ubuntu eclipse for php,ubuntu 安装 Eclipse 支持PHP
  9. Luence简单实现2
  10. 兼容所有浏览器的快速Web打印控件下载
  11. Mac开发者福利来了!安利一波各领域不错的软件工具
  12. 基于TI CC2540汽车检测蓝牙4.0 BLE方案
  13. 【微积分】2.2一元函数积分
  14. java setpriority_Java Thread setPriority()方法
  15. 单月涨粉30w+,他们掌握引流法宝,小红书1月创作趋势是什么?
  16. babel-预设和插件
  17. 百度网盘提速法,不用插件,不用安装脚本
  18. 在嵌入式设备上(树莓派)动态显示带有中文字体的图片(采用matplotlib绘图)
  19. C8825D解锁步骤
  20. 求1到100之间的奇数之和与偶数之和

热门文章

  1. mmc、emmc、emcp
  2. Mixly15:触摸式开关
  3. 读 <<详解FPGA 人工只能时代的驱动引擎>>
  4. 云安全解决方案安全保障体系框架
  5. 使用ENVI提取SPOT影像感兴趣区域的水体范围
  6. 慎用Outline UGUI Outline实现原理分析
  7. 尽一份孝心,为家人做一个老人防摔报警系统
  8. 微波技术基础---史密斯圆图分析阻抗匹配
  9. 混合整数线性规划(MILP)
  10. 在码教授的生活也没有多么好