动画步骤

时间:2016-10-20 09:52:44

标签: css css-transitions css-animations

我想创建一个完整的CSS动画进度条,使用steps()来完成。

@keyframes loading {
  0% {
    width: 0%;
    left: 50%;
  }
  100% {
    width: 100%;
    left: 0%;
  }
}
div {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0%;
  height: 1px;
  background-color: #000;
  -webkit-animation: loading 15s steps(15, end);
  animation: loading 15s steps(15, end);
  transition: all 0.5s ease-out;
}

我的主要目标是保留steps()并添加transition效果以平滑它 如何在没有JS 的情况下实现

1 个答案:

答案 0 :(得分:0)

我认为这就是你所追求的目标。

我把它简化为5个位置......但15个阶段的数学计算非常简单。

@keyframes loading {
  0% {
    width: 0%;
  }
  25% {
    width: 25%;
  }
  50% {
    width: 50%;
  }
  75% {
    width: 75%;
  }
  100% {
    width: 100%;
  }
}
div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  width: 0%;
  height: 10px;
  background-color: #000;
  animation: loading 5s infinite;
}
<div></div>