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 } /* 最后一帧不显示,可以随便写 */
}

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

实例演示
预览 复制