css制作水平进度条样式

使用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变量可更灵活地控制颜色和高度
  • 适配移动端时建议设置最小高度和响应式宽度

基本上就这些,不复杂但容易忽略细节比如圆角对齐和动画流畅性。