纯css实现环形进度条

需要在中实现一个定制化的环形进度条,最终效果如图:

使用代码

html 复制代码
 <div
                    class="circular-progress"
                    :style="{
                      '--progress': nextProgress,
                      '--color': endSliderColor,
                      '--size': isFull ? '60rpx' : '90rpx',
                    }"
                  >
                    <div class="inner-content">
                      <img
                        :class="isFull ? 'next_btn_full' : 'next_btn_normal'"
                         :src="`${assetsHost}dsplayer/next.png`"
                        alt=""
                      />
                    </div>
                  </div>

css代码:

css 复制代码
/* 内层遮罩实现环形效果 */
.circular-progress::before {
  content: "";
  position: absolute;
  width: 80%;
  height: 80%;
  background: rgba(0, 0, 0, 1);
  border-radius: 50%;
}

.inner-content {
  position: relative;
  z-index: 1;
  font-size: 1.2em;
  color: var(--color);
}

/* 兼容方案(可选) */
@supports not (background: conic-gradient(#000, #fff)) {
  .circular-progress {
    background: var(--bg-color);
  }

  .circular-progress::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    clip: rect(0, var(--size), var(--size), calc(var(--size) / 2));
    background: var(--color);
    transform: rotate(calc(var(--progress) * 3.6deg));
  }
}
相关推荐
likuolei3 小时前
XSL-FO 软件
java·开发语言·前端·数据库
正一品程序员3 小时前
vue项目引入GoogleMap API进行网格区域圈选
前端·javascript·vue.js
e***95643 小时前
【HTML+CSS】使用HTML与后端技术连接数据库
css·数据库·html
j***89463 小时前
spring-boot-starter和spring-boot-starter-web的关联
前端
star_11123 小时前
Jenkins+nginx部署前端vue项目
前端·vue.js·jenkins
im_AMBER3 小时前
Canvas架构手记 05 鼠标事件监听 | 原生事件封装 | ctx 结构化对象
前端·笔记·学习·架构
JIngJaneIL3 小时前
农产品电商|基于SprinBoot+vue的农产品电商系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·农产品电商系统
Tongfront3 小时前
前端通用submit方法
开发语言·前端·javascript·react
可爱又迷人的反派角色“yang”3 小时前
LVS+Keepalived群集
linux·运维·服务器·前端·nginx·lvs
han_3 小时前
前端高频面试题之CSS篇(二)
前端·css·面试