1、sprites精灵图

 

使用精灵图就是为了减少网页请求服务器发送图片的次数,把一些小图标都放到一张图片(称为精灵图)精确单位,就不会请求服务器多次了

使用精灵图核心:

  1. 精灵技术主要针对于背景图片使用,就是把多个小背景图片整合到一张大图片中
  2. 这个大图片也称为sprites 精灵图 或者 雪碧图
  3. 移动背景图片位置,此时可以使用 background-position
  4. 移动的距离就是这个目标图片的x和y坐标,注意网页中的坐标有所不同
  5. 因为一般情况下都是往上往左移动,所以数值是负值
  6. 使用精灵图的时候需要精确测量,每个小背景图片的大小和位置

使用精灵图核心总结:

  1. 精灵图主要针对于小的背景图片使用
  2. 主要借助于背景位置来实现---background-position
  3. 一般情况下精灵图是负值。(千万要注意网页中的坐标:x轴右边走是正值,左边走是负值,y轴上是负,下是正)

2、字体图标

字体图标的使用场景:主要用于显示网页中通用,常用的一些小图标

精灵图是有诸多优点的,但是缺点也很明显

  1. 图片文件还是比较大的
  2. 图片本身放大和缩小会失真
  3. 一旦图片制作完毕想要更换非常复杂

此时,有一种技术的出现很好的解决了以上问题,就是字体图标iconfont

字体图标可以为前端工程师提供一种方便高效的图标使用方式,展示的是图标,本质属于字体

字体图标的优点:

轻量级:一个图标字体比一系列的图标要小,一旦字体加载了,图标就会马上渲染出来,减少了服务器请求

灵活性:本质其实是文字,可以很随意的改变颜色,产生阴影、透明效果、旋转等

兼容性:几乎支持所有的浏览器,放心使用

注意:字体图标不能代替精灵技术,只是对工作中图标部分技术的提示和优化

2.1、字体图标的使用

源代码

sprites精灵图+字体图标-LMLPHP

sprites精灵图+字体图标-LMLPHP

  1. 把下载包里面的fonts文件夹放入页面根目录下

sprites精灵图+字体图标-LMLPHP

sprites精灵图+字体图标-LMLPHP 

 

  1. html标签内添加小图标,字体font-family一定要和源字体图标里的一致

sprites精灵图+字体图标-LMLPHP

 

也可以复制前面的 e91b ,但前面要加 \ 符号,变成:\e91b;

2.2、字体图标的追加

如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标到原来的字体文件中

把压缩包里面的selection.json重新上传,然后选中自己想要的新图标,从新下载压缩包,并替换原来的文件即可,fonts文件夹也要替换掉

sprites精灵图+字体图标-LMLPHP

 

总结:

  1. 如果遇到一些结构和样式比较简单的小图标,就用字体图标
  2. 如果遇到一些结构和样式复杂一点的小图片,就用精灵图
12-09 15:48