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

相关推荐
漂流瓶jz17 小时前
总结CSS组件化演进之路:命名规范/CSS Modules/CSS in JS/原子化CSS
前端·javascript·css
steven~~~19 小时前
为什么mq报错
javascript
threelab20 小时前
Three.js 初中数学函数可视化 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
凉辰20 小时前
解决 H5 键盘遮挡与页面上推
开发语言·javascript·计算机外设
JoyGqz1 天前
Vue 2 EOL 之后还在跑生产?这个开源安全分支已修主流 CVE,一行依赖即可接入
vue.js
zz5881 天前
面试官问"JS的类型"时,到底想听到什么?
javascript
gjwjuejin1 天前
全埋点技术方案深度剖析:从事件代理到无痕采集的完整实现
javascript
Lkstar1 天前
Vue 3 Composition API 进阶:自定义 Hooks 与 provide/inject 的高级玩法
vue.js·面试
前端若水1 天前
在 Vue 2 与 Vue 3 中使用 markdown-it-vue 渲染 Markdown 和数学公式
前端·javascript·vue.js
之歆1 天前
DAY_10 JavaScript 深度解析:原型链 · 引用类型 · 内置对象 · 数组方法全攻略(下)
开发语言·前端·javascript·ecmascript