当前位置:首页 > CSS

css进度圈制作

2026-03-12 09:17:22CSS

CSS 进度圈制作方法

进度圈(环形进度条)可以通过纯CSS结合HTML实现,以下是几种常见方法:

使用CSS conic-gradient

通过圆锥渐变创建环形进度效果:

<div class="progress-circle" style="--progress: 75"></div>
.progress-circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: conic-gradient(
    #3498db calc(var(--progress) * 1%),
    #eee 0
  );
  display: flex;
  align-items: center;
  justify-content: center;
}
.progress-circle::before {
  content: attr(style);
  background: white;
  width: 80%;
  height: 80%;
  border-radius: 50%;
}

使用SVG和CSS

结合SVG的stroke-dasharray属性实现:

<svg class="progress-svg" viewBox="0 0 36 36">
  <path class="circle-bg"
    d="M18 2.0845
      a 15.9155 15.9155 0 0 1 0 31.831
      a 15.9155 15.9155 0 0 1 0 -31.831"
  />
  <path class="circle-fill"
    stroke-dasharray="75, 100"
    d="M18 2.0845
      a 15.9155 15.9155 0 0 1 0 31.831
      a 15.9155 15.9155 0 0 1 0 -31.831"
  />
</svg>
.progress-svg {
  width: 100px;
  height: 100px;
  transform: rotate(-90deg);
}
.circle-bg {
  fill: none;
  stroke: #eee;
  stroke-width: 3;
}
.circle-fill {
  fill: none;
  stroke: #3498db;
  stroke-width: 3;
  stroke-linecap: round;
}

使用CSS动画实现动态效果

为进度圈添加动画过渡:

@keyframes progress {
  from { --progress: 0; }
  to { --progress: 75; }
}

.progress-circle {
  animation: progress 2s ease-out forwards;
}

多色分段进度圈

创建分段颜色的进度圈:

css进度圈制作

.progress-multicolor {
  background: conic-gradient(
    #e74c3c 0% 25%,
    #f39c12 25% 50%,
    #2ecc71 50% 75%,
    #3498db 75% 100%
  );
}

注意事项

  • 圆锥渐变方法在旧浏览器可能需要polyfill
  • SVG方法兼容性更好且更精确
  • 使用CSS变量(如--progress)可以轻松通过JavaScript动态控制进度
  • 环形进度通常需要配合伪元素创建中心遮罩实现空心效果

以上方法均可通过调整CSS变量或stroke-dasharray值动态改变进度百分比。

标签: 进度css
分享给朋友:

相关文章

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="horiz…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。元素的宽度和高度需相同,否则会呈现椭圆形。 .circle { widt…

css制作六边形

css制作六边形

使用CSS创建六边形的方法 通过CSS的clip-path属性可以轻松实现六边形效果。以下是一个基础示例: .hexagon { width: 100px; height: 55px;…

css制作钢琴块

css制作钢琴块

使用CSS制作钢琴块 钢琴块可以通过HTML和CSS的配合实现,主要利用flexbox布局和伪元素来模拟钢琴的黑白键排列。 HTML结构 <div class="piano"> &l…

css下拉框制作

css下拉框制作

使用原生HTML和CSS制作下拉框 HTML的<select>元素结合CSS可以创建基础下拉框: <select class="custom-dropdown"> <…

简历制作css

简历制作css

简历制作CSS技巧 使用CSS美化简历可以提升视觉效果和专业性。以下是一些关键方法和代码示例: 基础样式设置 body { font-family: 'Arial', sans-serif;…