我想创建一个完整的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 的情况下实现?
答案 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>