1. 调用动画

定义好了就可以去调用了,来看一下怎么调用:

/* 清除浏览器默认边距 */
* { padding: 0; margin: 0; }

body {
  /* 这段代码是为了居中显示,不是重点,看不懂的话可以无视 */
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;

  /* 添加背景图 */
  background: url(../img/bg.jpg) center / cover;
}

.animate {
  width: 130px;
  height: 130px;
  background: url(../img/rect.png);

  /* 动画: 动画名(loading) 时长(0.6秒) 运行方式(step-end) 动画次数(无限) */
  animation: loading .6s step-end infinite;
}

/* 定义动画:动画名(loading) */
@keyframes loading {
  from { background-position: 0 0 } /* 第一个数字代表x轴坐标,第二个数字代表y轴坐标 */
  10% { background-position: -130px 0 } /* x坐标:-130 y坐标:0 */
  20% { background-position: -260px 0 } /* x坐标:-260 y坐标:0 */
  30% { background-position: -390px 0 } /* x坐标:-390 y坐标:0 */
  40% { background-position: -520px 0 } /* x坐标:-520 y坐标:0 */
  50% { background-position: 0 -130px } /* x坐标:0 y坐标:-130 */
  60% { background-position: -130px -130px } /* x坐标:-130 y坐标:-130 */
  70% { background-position: -260px -130px } /* x坐标:-260 y坐标:-130 */
  80% { background-position: -390px -130px } /* x坐标:-390 y坐标:-130 */
  90% { background-position: -520px -130px } /* x坐标:-520 y坐标:-130 */
  to { background-position: 0 } /* 最后一帧不显示,可以随便写 */
}

为了能够让同学们在浏览器里直接看结果,我们这里写了一个可运行的案例:

运行结果:

图片描述

可以看到效果就已经很完美的呈现出来了,那么接下来我们再来添加一下条形雪碧图,看看条形雪碧图的用法有何不同。

2. 小结

怎么样是不是很帅气呢?这就是雪碧图帧动画的优势所在。
如果纯用CSS来实现这段特效那简直让人无从下手,但用雪碧图+帧动画就可以很轻松的实现。

下一小节我们将在此基础上再添加一个动画,快来看看多个动画是如何并存的吧!

本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈