【css酷炫效果】纯CSS实现进度条加载动画
【css酷炫效果】纯CSS实现进度条加载动画
- 缘
- 创作背景
- html结构
- css样式
- 完整代码
- 基础版
- 进阶版
- 效果图
通过CSS渐变与背景位移动画,无需JavaScript即可创建流体动态进度条。
想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90490485
缘
创作随缘,不定时更新。
创作背景
刚看到csdn出活动了,赶时间,直接上代码。
html结构
<div class="progress-bar">
<div class="progress"></div>
</div>
css样式
.progress-bar {
width: 300px;
height: 20px;
background: #eee;
border-radius: 10px;
overflow: hidden;
}
.progress {
width: 100%;
height: 100%;
background: linear-gradient(90deg,
#3498db 25%,
#9b59b6 50%,
#e74c3c 75%);
background-size: 200% 100%;
animation: flow 2s linear infinite;
transform-origin: left;
/* transform: scaleX(0.7); 设置当前进度70% */
}
@keyframes flow {
0% { background-position: 100% 0; }
100% { background-position: 0% 0; }
}
完整代码
基础版
<!DOCTYPE html>
<html>
<head>
<style>
.progress-bar {
width: 300px;
height: 20px;
background: #eee;
border-radius: 10px;
overflow: hidden;
}
.progress {
width: 100%;
height: 100%;
background: linear-gradient(90deg,
#3498db 25%,
#9b59b6 50%,
#e74c3c 75%);
background-size: 200% 400%;
animation: flow 2s linear infinite;
transform-origin: left;
}
@keyframes flow {
0% { background-position: 100% 0; }
100% { background-position: 0% 0; }
}
</style>
</head>
<body>
<div style='text-align:center;margin-top:50px;'>
<div class="progress-bar">
<div class="progress"></div>
</div>
</div>
</body>
</html>
进阶版
<!DOCTYPE html>
<html>
<head>
<style>
.progress-bar {
width: 300px;
height: 20px;
background: #eee;
border-radius: 10px;
overflow: hidden;
}
.progress {
width: 100%;
height: 100%;
background: linear-gradient(90deg,
#3498db 25%,
#9b59b6 50%,
#e74c3c 75%);
background-size: 200% 400%;
animation: flow 2s linear infinite;
transform-origin: left;
background: repeating-linear-gradient(
-45deg,
#3498db,
#3498db 10px,
#2980b9 10px,
#2980b9 20px
);
background-size: 200% 100%;
box-shadow: inset 0 2px 5px rgba(0,0,0,0.1);
border-right: 3px solid rgba(255,255,255,0.3);
transition: transform 0.3s ease-out;
}
@keyframes flow {
0% { background-position: 100% 0; }
100% { background-position: 0% 0; }
}
</style>
</head>
<body>
<div style='text-align:center;margin-top:50px;'>
<div class="progress-bar">
<div class="progress"></div>
</div>
</div>
</body>
</html>
效果图