答案是利用CSS的width属性和@keyframes动画制作水平进度条。首先通过HTML构建外层容器和内层进度元素,外层设置固定宽高、圆角和背景色,内层初始宽度为0;然后使用@keyframes定义从0%到100%的宽度变化动画,并应用ease-in-out缓动效果和forwards保持最终状态;最后可选添加伪元素显示静态百分比文字。整个过程无需JavaScript,适合初学者掌握CSS基础属性与动画原理。

在CSS初级项目中制作一个带动画效果的水平进度条,核心思路是利用 width 属性控制进度长度,再结合 @keyframes 实现平滑的动画效果。整个过程不需要JavaScript也能演示基本动效,非常适合初学者练习CSS基础属性。
先创建一个外层容器表示进度条背景,内部一个子元素表示当前进度。
<div class="progress-bar"> <div class="progress"></div> </div>
外层 .progress-bar 起到限定宽度和样式边框的作用,内层 .progress 是实际填充颜色并做动画的部分。
给外层设置固定宽度、高度、圆角和背景色,内层初始宽度为0,后续通过动画改变。
立即学习“前端免费学习笔记(深入)”;
.progress-bar {
width: 300px;
height: 20px;
background-color: #e0e0e0;
border-radius: 10px;
overflow: hidden;
}
.progress {
height: 100%;
width: 0;
background-color: #4caf50;
border-radius: 10px;
}
overflow: hidden 很关键,确保内层进度不会超出圆角边界。
定义一个从0%到100%的宽度变化动画,并应用到进度条上。
@keyframes fill-progress {
0% {
width: 0;
}
100% {
width: 100%;
}
}
.progress {
height: 100%;
width: 0;
background-color: #4caf50;
border-radius: 10px;
animation: fill-progress 2s ease-in-out forwards;
}
ease-in-out 让动画开始和结束更自然,forwards 确保动画结束后保持最终状态(即width:100%)。
如果想加上动态百分比文字,可以将文本放在里,用伪元素或JS控制(纯CSS可用计数器模拟固定值)。
.progress-bar {
position: relative;
}
.progress-bar::after {
content: "60%";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 12px;
color: #333;
}
注意:若用动画同步文字变化,需JavaScript配合。但仅展示静态完成度时,CSS足够。
基本上就这些。掌握 width 配合 animation 的使用,就能做出流畅的加载或任务进度提示效果。不复杂但容易忽略细节,比如 overflow 和 animation-fill-mode 的设置。多练几次就能熟练应用到实际小项目中。
以上就是如何在CSS初级项目中制作水平进度条_animation与width结合的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号