精灵图
1.1为什么需要精灵图?
浏览器:发送请求给服务器,服务器:接收请求,返回请求页面。
一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器压力过大,这将大大降低页面的加载速度。
因此,为了有效的减少服务器接收和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称为CSS Sprites、CSS雪碧)。
核心原理:将网页中的一些小背景图像整合到一张大图中,这样服务器只需要一次请求就可以了。
目的:为了有效减少服务器接收和发送请求的次数,提高页面的加载速度。
1.2精灵图的使用
使用精灵图核心:
1.精灵技术主要针对于背景图片的使用。就是把多个小背景图片整合到一张大图片中。
2.这个大的图片称为sprites 精灵图或者雪碧图。
3.移动背景图片位置!,此时可以使用background-position。
4.移动的距离就是这个图片的x和y坐标。注意网页中的坐标有所不同(y轴正半轴在下!)。
5.因为一般情况下都是往上往左移动,所以数值是负值。
6.使用精灵图的时候需要精确测量,每个小背景图片的大小和位置。
1.3精灵图总结
1.精灵图主要正对于小的背景图片使用。
2.主要借助于背景位置来实现–bacground-position。
3.一般情况下精灵图都是负值。
字体图标
2.1字体图标的产生
字体图标使用场景:主要用于显示网页中通用、常用的一些小图标。
精灵图是有诸多优点的,但是缺点很明显。
1.图片文件还是比较大的。
2.图片本身放大或缩小会失真。
3.一旦图片制作完毕想要更换非常复杂。
此时,有一种技术的出现很好的解决了以上问题,这就是字体图标iconfont。
字体图标可以为前端工程师提供一种方便高效的图标使用方式,展示的是图标,本质是属于字体。
2.2字体图标的优点
1.轻量级:一个字体图标要比一系列的图像要小,一旦字体加载了,图标就会马上渲染出来,减少了服务器的请求。
2.灵活性:本质其实是文字,可以随意的改变颜色,产生阴影、透明效果、旋转等等。
3.兼容性:几乎支持所有浏览器,请放心使用。
注意:字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化。
总结:
1.遇到结构和样式简单的小图标,就用字体图标。
2.如果遇到复杂样式的小图标,就用精灵图。
字体图标 是一些网页常见的小图标,我们直接网上下载即可,因此使用分为:
1.字体图标的下载。
2.字体图标的引入。(引入到我们的html页面中)
3.字体图标的追加。(以后添加新的图标)
2.3字体图标的下载
icomoon字库 http://icomoon.io 外国网站 免费,非常全面,外国服务器,网速慢 。
iconfont阿里字库 http://confont.cn 可以使用AI制作图标上传生成。重点是,免费!
icomoon字体库:
1.点击左下角的komoon app按钮
2.添加喜欢的字体图标:
3.要是不够的话页面下面还有更多,点击后又有新的选择自己喜欢的图标:
4.选择完毕后最后点击底部右下角的Generate font按钮即可下载。
2.4字体图标的引入
我这里下载的是icomoon字库
1.下载完后将字体图标的压缩包解压到相应文件夹里(比如我放在E盘/VScode/案例/字体图标 里面的),最重要是fonts文件夹要放到页面的根目录下面
fonts文件夹里的四个文件解释:
.css(引入字体代码块,放在style标签里面)
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?k54q4l');
src: url('fonts/icomoon.eot?k54q4l#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?k54q4l') format('truetype'),
url('fonts/icomoon.woff?k54q4l') format('woff'),
url('fonts/icomoon.svg?k54q4l#icomoon') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
2.引入上面的css后(当然你也可以打开下载文件里面的style.css文件,复制粘贴这段代码也可以),就可以使用字体图标了!
但是你要用字体图标还得在你用的这个标签里面加上字体的样式,具体操作如下:
(1)首先必须给字体添加下面这段代码,因为默认是微软雅黑字体。
span{
font-family: 'icomoon';
}
(2)然后在我们下载字体图标的文件夹里,找到demo.html,点击打开!
(3)打开后是我们刚刚下载的字体图标的展示,然后我们点击我们要选择的字体图标下面最右边的那个小矩形,点击后复制粘贴到我们的标签里面。
<span> </span>
(4)这样我们运行后的样子就是图标的样子了,因为字体图标本质是字体,所以可以按照字体的属性给图标设置相应的属性!
2.4字体图标的追加
如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标到原来的字体文件中。
1.把压缩包里面的selection.json重新上传,然后选择我们自己想要的新图标,重新下载压缩包,并替换原来的文件即可。