精灵图
为什么需要精灵图?
一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度
因此,为了有效的减少服务器接受和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称CSS Sprites、CSS雪碧)
精灵图(sprites)的使用
使用精灵图核心:
1.精灵图技术主要针对于背景图片使用,就是把多个小背景图片整合到一张大图片中
2.这个大图片也称为sprites精灵图 或者 雪碧图
3.移动背景图片位置,此时可以使用background-position;
4.移动的距离就是这个目标图片的x 和y坐标,注意网页中的坐标有所不同
5.一半情况下都是往上往左移动,所以数值是负数
6.使用精灵图的时候需要精确测量,每个小背景图片大小和位置
PS用法用切片的方式,双击鼠标即可知选中图片的信息(包括宽度高度 x y 轴大小)
字体图标
字体图标的产生
字体图标使用场景: 主要用于显示网页中通用、常用的一些小图标
精灵图有诸多优点,但是缺点很明显
-
图片文件还是比较大的
-
图片本身放大和缩小会失真
-
一旦图片制作完毕想要更换非常复杂
此时,有一种技术的出现很好的解决了以上问题,就是字体图标inconfont
字体图标可以为前端工程师提供一种方便高效的图标使用方式,展示的是图标,本质属于字体
-
轻量级:一个图标字体要比一系列的图像要小,一旦字体加载了图标就会马上渲染出来,减少了服务器请求
-
灵活性:本质其实是文字,可以很随意的改变颜色,产生阴影,透明效果,旋转等
-
兼容性:几乎支持所有浏览器,请放心使用
注意:字体图标不能替代精灵技术,只是对工作中图标部分技术的特生和优化
总结:
如果遇到一些结构和样式比较简单的小图标,就用字体图标
遇到样式复杂的小图片就用精灵图
字体图标使用
字体图标是一些网页常见小图标,我们直接网上下载即可,因此使用可以分为:
-
字体图标的下载(引入我们HTML页面中)
-
字体表土的追加(以后添加新的小图标)
字体图标的下载
incomoon 国外加载慢 不免费
网站:阿里inconfont字库 国内、免费
字体图标的引入
-
把下载包里的fonts文件夹放入页面根目录下 准备了四种文件
(不同浏览器所支持的字体格式是不一样的,字体图标之所以兼容,就是因为包含了主流浏览器的字体文件)
-
在CSS样式中全局声明字体,简单理解把这些文字文件通过CSS引入到我们页面中
一定注意字体文件路径的问题
-
html标签内添加小图标 打开压缩包文件中demo.html小方框
-
在给span添加字体形式 font-family
-
直接复制font文件中style.CSS内容 复制到display: block;
字体图标的追加
如果工作中,原来的字体图标不够用了,我们需要添加新的字体到原来的字体文件中
把压缩包里面的selection.json从新上传 然后选中自己想要新的图标,重新下载压缩包,并替换原来的文件即可