前端学习笔记69-雪碧图
前面提到会有闪烁问题,为了解决这个问题,可以把三种图片拼接成一张,就可以搞定。
<!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>按钮</title>
<style>
a:link{
display: block;
width: 93px;
height: 29px;
background-image: url(../exercise/img/09/btn.png)
}
a:hover{
background-position: -93px 0;
}
a:active{
background-position: -186px 0;
}
</style>
</head>
<body>
<a href="js"></a>
</div>
</body>
</html>
从代码可以看到,鼠标移入和点击不再是加载新图片,而是,移动图片。这样就实现了上一节的功能,并且不会有首次加载的闪烁问题。
这个方法被称为CSS-Sprite,即雪碧图。
雪碧图使用步骤:
1确定要使用的图标
2测量图标大小
3根据测量结果创建一个元素
4将雪碧图设置为元素的背景图片
5设置一个偏移量以显示正确的图片