Vue 纯css方式实现自定义进度条组件

组件源码

javascript 复制代码
<template>
    <div>
        <div class="bar" :style="{'--precent': precent}"></div>
    </div>
  </template>
   
  <script>
  export default {
      name: 'ProgressBar',
      props: {
        precent:{},
      },
      data() {
          return {
          }
      },
      methods: {
        
      }
  }
  </script>

<style scoped>

  .bar{
    height: 14px;
    width: 100%;
    font-size: 10px;
    margin-top: 5px;
    background-color: #f5f5f5;
  }
  .bar::before{
    display: block;
    counter-reset: progress var(--precent); 
    content: '';
    width: calc(1% * var(--precent));
    color: #fff;
    height: 14px;
    background-color: #2486ff;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
  }


</style>
  

调用方式(precent表示占比,这里的50表示是50%):

javascript 复制代码
          <ProgressBar :precent="'50'"></ProgressBar>

实现效果:

相关推荐
kite01212 小时前
浏览器工作原理06 [#]渲染流程(下):HTML、CSS和JavaScript是如何变成页面的
javascript·css·html
крон2 小时前
【Auto.js例程】华为备忘录导出到其他手机
开发语言·javascript·智能手机
coding随想5 小时前
JavaScript ES6 解构:优雅提取数据的艺术
前端·javascript·es6
年老体衰按不动键盘5 小时前
快速部署和启动Vue3项目
java·javascript·vue
小小小小宇5 小时前
一个小小的柯里化函数
前端
灵感__idea5 小时前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
小小小小宇5 小时前
前端双Token机制无感刷新
前端
小小小小宇5 小时前
重提React闭包陷阱
前端
小小小小宇5 小时前
前端XSS和CSRF以及CSP
前端
UFIT5 小时前
NoSQL之redis哨兵
java·前端·算法