vue中封装一个进度条组件,无需引入,纯css

效果图是这样

下面直接上组件代码

html 复制代码
<template>
  <div 
    class="gradient-progress" 
    :style="{ '--progress': percent + '%', '--main-color': color }"
  ></div>
</template>

<script>
export default {
  props: {
    percent: { type: Number, default: 0, min: 0, max: 100 },
    color: { type: String, default: '#ff4444' }
  }
}
</script>

<style scoped>
.gradient-progress {
  --bg-color: #e0e0e0;
  width: 100%;
  height: 6px;
  background: var(--bg-color);
  /* border-radius: 999px; */
  overflow: hidden;
  position: relative;
}
.gradient-progress::after {
  content: '';
  position: absolute;
  left: 0; top: 0;
  height: 100%;
  width: var(--progress);
  background: linear-gradient(to right, 
    var(--main-color), 
    color-mix(in srgb, var(--main-color), white 50%)
  );
  /* border-radius: 999px; */
  transition: width 0.3s ease;
}
</style>

使用的时候也非常简单,引入组件后传入颜色以及进度就可以了

<GradientProgress :percent="60" color="#3273d8" class="progress" />

相关推荐
灵感__idea9 小时前
Hello 算法:“走一步看一步”的智慧
前端·javascript·算法
Mh11 小时前
我决定写一个 3D 地球仪来记录下我要去的地方
前端·javascript·动效
. . . . .12 小时前
ref、useRef 和 forwardRef
前端·javascript·react.js
柚子81613 小时前
break跳出语句块的神奇技巧
前端·javascript
ejinxian14 小时前
Rust GUI框架Azul与Electron、WebView2
前端·javascript·electron
军军君0115 小时前
数字孪生监控大屏实战模板:智能业务大数据监管平台
css·vue.js·elementui·typescript·前端框架·echarts·less
代码不加糖15 小时前
0基础搭建前后端分离项目:实现菜单与界面左右布局
java·前端·javascript·mysql·elementui·mybatis
zhensherlock16 小时前
Protocol Launcher 系列:Tally 快速计数器的深度集成
前端·javascript·typescript·node.js·自动化·github·js
AC赳赳老秦16 小时前
OpenClaw权限管理实操:团队共享Agent,设置操作权限,保障数据安全
服务器·开发语言·前端·javascript·excel·deepseek·openclaw