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" />

相关推荐
传人once1 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
web3d5201 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
光影少年3 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
梓雨枔4 小时前
JavaScript+快速学习,简单好用~
javascript·学习
木易 士心4 小时前
JavaScript 闭包原理和实践深度解析
开发语言·javascript·ecmascript
ITOM运维行者5 小时前
PHP性能监控怎么做?从响应时间到慢函数的6个关键指标
前端·javascript·后端
hai_android6 小时前
一个公式看懂动态跨表查找:P8 + VLOOKUP
前端·javascript·vue.js
杨利杰YJlio6 小时前
Tibo的28天计划DAY1GPT-6提速50%意味着什么?
前端·javascript·后端
鬼手点金6 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
OpsEye7 小时前
兼顾数据安全与成本,私有化 AI 网关正在成为企业标配
javascript·ai编程