前言
本文是对bar进度条实现的2种方案进行分享,第一种是很简单,纯css的实现,第二种是echart的实现。
css的实现
css实现很简单。代码如下:
<template> <div class="haoroomflex"> <div v-for="(item,index) in barData" :key="index" class="onebar"> <div class="bar"> <span class="progress" :style="{'height':`${item.value*100}%`}" /> </div> <div class="sfont">{{ item.date }}</div> </div> </div> </template> <script> export default { props: { barData: { type: Array, default() { return [ { date: '', value: 0 }, { date: '', value: 0 }, { date: '', value: 0 } ] } } } } </script> <style rel="stylesheet/scss" lang="scss" scoped> .haoroomflex{display: flex;margin:0 15px;} .onebar{ flex:1; text-align: center; min-width: 30px; max-width: 100px; display: inline-block; .sfont{ color:#999; font-size:14px; } .bar{ height: 160px; width:24px; margin:5px auto; -webkit-border-radius: 24px; border-radius: 24px; overflow: hidden; position: relative; background: #e5e5e5; span.progress { position: absolute; bottom:0; height: 0; width: 100%; display: block; -webkit-border-radius: 24px; border-radius: 24px; -webkit-transition: height 2s ease-out; -o-transition: height 2s ease-out; transition: height 2s ease-out; background: #3990FF } } } </style>
效果如下
echart实现
<template> <div class="linechartWrap"> <v-chart class="barchart" :options="options" autoresize /> </div> </template> <script> import ECharts from 'vue-echarts' import 'echarts/lib/chart/bar' import 'echarts/lib/component/tooltip' import 'echarts/lib/component/title' import 'echarts/lib/component/toolbox' export default { components: { 'v-chart': ECharts }, props: { barData: { type: Object, default() { return { data: [11, 33, 77], title: ['07-01', '07-02', '07-03'] } } } }, computed: { options() { return { grid: { show: 'true', borderWidth: '0', height: '72%', width: '90%', x: '12%', y: '20%' }, tooltip: { trigger: 'axis', axisPointer: { type: 'none' }, formatter: '{b0}: {c0}%' /* formatter: function(params) { var result = ''; params.forEach(function (item) { result += item.marker + " " + item.seriesName + " : " + item.value +"</br>"; }); return result; }*/ }, backgroundColor: '#fff', // 背景色 yAxis: { show: false, // 是否显示x轴 type: 'value' }, xAxis: { type: 'category', axisLabel: { show: true, textStyle: { color: '#666' // y轴字体颜色 } }, splitLine: { show: false }, // 横向的线 axisTick: { show: false }, // y轴的端点 axisLine: { show: false }, // y轴的线 data: this.barData.title }, series: [ { type: 'bar', itemStyle: { normal: { barBorderRadius: 25, color: '#3990FF' } }, barWidth: 25, data: this.barData.data }, { name: '外框', type: 'bar', itemStyle: { normal: { barBorderRadius: 25, color: '#e5e5e5' // rgba设置透明度0.14 } }, barGap: '-100%', z: 0, barWidth: 25, data: [100, 100, 100] } ] } } } } </script>
代码地址
代码已经上传github,地址是: https://github.com/confidence68/bar_precent_css
总结
以上所述是小编给大家介绍的vue柱状进度条图像的完美实现方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
标签:
vue柱状进度条,vue,进度条
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“vue柱状进度条图像的完美实现方案”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月16日
2024年11月16日
- 群星《歌手2024 第13期》[FLAC/分轨][325.93MB]
- 阿木乃《爱情买卖》DTS-ES【NRG镜像】
- 江蕾《爱是这样甜》DTS-WAV
- VA-Hair(OriginalBroadwayCastRecording)(1968)(PBTHAL24-96FLAC)
- 博主分享《美末2RE》PS5 Pro运行画面 玩家仍不买账
- 《双城之战2》超多新歌MV发布:林肯公园再次献声
- 群星《说唱梦工厂 第11期》[320K/MP3][63.25MB]
- 群星《说唱梦工厂 第11期》[FLAC/分轨][343.07MB]
- 群星《闪光的夏天 第5期》[320K/MP3][79.35MB]
- 秀兰玛雅.1999-友情人【大旗】【WAV+CUE】
- 小米.2020-我想在城市里当一个乡下人【滚石】【FLAC分轨】
- 齐豫.2003-THE.UNHEARD.OF.CHYI.3CD【苏活音乐】【WAV+CUE】
- 黄乙玲1986-讲什么山盟海誓[日本东芝版][WAV+CUE]
- 曾庆瑜1991-柔情陷阱[台湾派森东芝版][WAV+CUE]
- 陈建江《享受男声》DTS-ES6.1【WAV】