使用HTML和CSS创建水平进度条,外层容器.progress-bar设置背景和圆角,内层.progress通过width控制进度,添加transition实现动画,可结合JavaScript动态更新宽度,支持文字显示与响应式设计。

制作一个水平进度条,可以通过简单的 HTML 和 CSS 实现。核心思路是使用外层容器作为进度条背景,内层元素表示当前进度,通过宽度控制进度比例。
基础HTML结构
使用一个外层容器 .progress-bar 包裹表示进度的 .progress 元素:
基本CSS样式
设置外框样式和内层进度颜色,实现平滑显示:
.progress-bar {
width: 100%;
height: 20px;
background-color: #e0e0e0;
border-radius: 10px;
overflow: hidden;
box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
}
.progress {
height: 100%;
width: 0; / 初始为0,可通过JS或内联样式控制 /
background-color: #4caf50;
border-radius: 10px;
transition: width 0.4s ease; / 平滑动画效果 /
}
添加文字显示(可选)
如果需要在进度条中显示百分比数字,可以将文字覆盖在进度条上:
立即学习“前端免费学习笔记(深入)”;
.progress-bar {
position: relative;
width: 100%;
height: 30px;
background-color: #e0e0e0;
border-radius: 15px;
overflow: hidden;
font-family: Arial, sans-serif;
}
.progress {
height: 100%;
width: 75%;
background-color: #2196f3;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: flex-end;
color: white;
font-size: 12px;
padding-right: 10px;
box-sizing: border-box;
}
此时文字会显示在蓝色区域右侧。若想居中显示百分比,可在外层用伪元素或额外标签控制。
动态控制建议
- 通过JavaScript动态设置 .progress 的 width 值实现加载效果
- 使用CSS变量可更灵活地控制颜色和高度
- 适配移动端时建议设置最小高度和响应式宽度
基本上就这些,不复杂但容易忽略细节比如圆角对齐和动画流畅性。










