导读:本期聚焦于小伙伴创作的《如何用CSS实现带有透明分隔线的渐变背景进度条?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何用CSS实现带有透明分隔线的渐变背景进度条?》有用,将其分享出去将是对创作者最好的鼓励。

在网页交互设计中,进度条是展示任务完成度的常用组件,带有渐变背景和透明分隔线的进度条视觉效果更突出,能提升页面的整体质感。下面我们一步步实现这个效果。

基础HTML结构

进度条的核心结构分为外层容器和内层进度填充两部分,外层控制整体尺寸和背景,内层展示实际进度。代码如下:

<div class="progress-container">
  <div class="progress-bar" id="progressBar"></div>
</div>

核心CSS样式实现

外层容器样式

外层容器需要设置固定宽高、圆角,同时给内层进度条预留溢出隐藏的空间,避免进度超出容器范围。

.progress-container {
  width: 400px;
  height: 24px;
  border-radius: 12px;
  background-color: #f0f0f0;
  overflow: hidden;
  position: relative;
}

渐变背景与透明分隔线实现

内层进度条使用线性渐变作为背景,同时通过伪元素或者背景叠加的方式实现透明分隔线。这里我们使用背景叠加方案,先定义渐变背景,再通过重复线性渐变添加垂直透明分隔线。

.progress-bar {
  height: 100%;
  width: 0%; /* 初始进度为0 */
  border-radius: 12px;
  /* 基础渐变背景,从蓝色过渡到紫色 */
  background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%);
  /* 叠加透明分隔线,每30px出现一个2px宽的透明线条 */
  background-image: 
    linear-gradient(90deg, #4facfe 0%, #00f2fe 100%),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 28px,
      rgba(255, 255, 255, 0.5) 28px,
      rgba(255, 255, 255, 0.5) 30px
    );
  background-blend-mode: overlay;
  transition: width 0.3s ease; /* 进度变化时的过渡动画 */
}

分隔线效果优化

如果觉得分隔线透明度不够,可以调整rgba的透明度数值,或者使用background-size调整分隔线的间距。比如想要分隔线更密集,可以缩小重复渐变的周期:

/* 调整为每20px一个分隔线 */
background-image: 
  linear-gradient(90deg, #4facfe 0%, #00f2fe 100%),
  repeating-linear-gradient(
    90deg,
    transparent,
    transparent 18px,
    rgba(255, 255, 255, 0.6) 18px,
    rgba(255, 255, 255, 0.6) 20px
  );

动态更新进度

我们可以通过JavaScript动态修改进度条的宽度,来模拟进度变化的效果。示例代码如下:

// 获取进度条元素
const progressBar = document.getElementById('progressBar');
let currentProgress = 0;

// 模拟进度更新,每500ms增加10%
const timer = setInterval(() => {
  currentProgress += 10;
  if (currentProgress > 100) {
    currentProgress = 100;
    clearInterval(timer);
  }
  progressBar.style.width = currentProgress + '%';
}, 500);

常见问题说明

  • 渐变背景颜色可以根据需求调整linear-gradient的参数,支持多色渐变
  • 分隔线的颜色和透明度可以通过调整repeating-linear-gradient中的颜色值修改
  • 如果进度条需要适配暗黑模式,可以配合CSS变量动态切换渐变和分隔线的颜色

完整示例代码

以下是可直接运行的完整代码,复制后保存为HTML文件即可查看效果:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>渐变背景透明分隔线进度条</title>
  <style>
    .progress-container {
      width: 400px;
      height: 24px;
      border-radius: 12px;
      background-color: #f0f0f0;
      overflow: hidden;
      position: relative;
      margin: 50px auto;
    }
    .progress-bar {
      height: 100%;
      width: 0%;
      border-radius: 12px;
      background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%);
      background-image: 
        linear-gradient(90deg, #4facfe 0%, #00f2fe 100%),
        repeating-linear-gradient(
          90deg,
          transparent,
          transparent 28px,
          rgba(255, 255, 255, 0.5) 28px,
          rgba(255, 255, 255, 0.5) 30px
        );
      background-blend-mode: overlay;
      transition: width 0.3s ease;
    }
  </style>
</head>
<body>
  <div class="progress-container">
    <div class="progress-bar" id="progressBar"></div>
  </div>
  <script>
    const progressBar = document.getElementById('progressBar');
    let currentProgress = 0;
    const timer = setInterval(() => {
      currentProgress += 10;
      if (currentProgress > 100) {
        currentProgress = 100;
        clearInterval(timer);
      }
      progressBar.style.width = currentProgress + '%';
    }, 500);
  </script>
</body>
</html>

CSS渐变背景进度条透明分隔线修改时间:2026-06-10 17:51:32

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。