CSS布局总算是告一段落啦,现在开始学习一些CSS的高级技巧,能坚持到这里真不容易.
精灵图
一个网页中往往会应用很多小的背景图片作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度.
因此,为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称 CSS Sprites/Css雪碧)
核心原理: 将网页中的一些小背景图片整合到一张大图中,这样服务器只需要一次请求就可以了.
使用精灵图核心:
其实就是放一个盒子,然后给盒子添加一个背景图片,移动背景图片的位置,让想要的图案出现在盒子里.
下面做一个案例,使用下面的字母图,用精灵图的方式将自己的名字拼出来
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>name</title>
<style>
.name {
float: left;
width: 117px;
height: 129px;
background: url(../images/abcd.jpg) no-repeat
/* background-color: pink; */
}
.y {
background-position: -362px -540px;
}
.f {
width: 95px;
background-position: 0px -128px;
}
.t {
width: 104px;
background-position: -367px -405px
}
</style>
</head>
<body>
<div class="name y"></div>
<div class="name f"></div>
<div class="name t"></div>
</body>
</html>
做出来的效果:
字体图标
字体图标使用场景: 主要用于显示网页中通用,常用的一些小图标.
精灵图是由诸多优点的,但是缺点很明显:
1.图片文件还是比较大的.
2.图片本身放大和缩小会失真.
3.一旦图片制作完毕想要更换非常复杂.
此时,有一种技术的出现很好的解决了以上问题,就是字体图标iconfont.
字体图标可以为前端工程师提供一种方便高效的图标使用方式,显示的是图标,本质属于字体.
字体图标的优点:
注意:字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化.
总结:
字体图标下载:
如何使用字体图标:
这个比较麻烦,我一步一步讲解.
我使用的是icomoon网站,进去以后点击右上紫色的icomoon App.
点进来以后会有很多的图标可以选择
selection是我们已经选择好的字体图标,generate font就是生成字体图标.我们选好以后生成字体图标.
我们解压好以后将font文件放在我们html文件的根目录下,点开style,里面有引用的格式.
现在我们放一个span,里面插入我们想要的字体图标.
我们先打开demo文件:
里面有我下载好的图标.
复制想要的图标后面的小长方形,粘贴到span中.
现在再给span一个样式,字体是icomoon,从上面复制下来即可,现在我们的图标就变成了字体图标可以随意的放大缩小,改变颜色了.
阿里的icofont我还没搞清楚要怎么使用,一会研究一下