当前位置: 首页 > news >正文

css实现渐变电量效果柱状图

我们通常的做法就是用echarts来实现

比如

echarts象形柱图实现电量效果柱状图

接着我们实现进阶版,增加渐变效果

echarts分割柱形图实现渐变电量效果柱状图

接着是又在渐变的基础上,增加了背景色块的填充

echarts实现渐变电量效果柱状图

其实思路是一致的,就是效果层的叠加

以上,就是在项目中实际会用到的效果

如果你只是想做一个静态demo,不需要数据,不需要后台,这里教你一个简单快捷的方法,用css实现!

实现效果如下↓

相关代码:

<template><!--css实现电量效果--><div class="panel"><div class="content"><div class="legend"><div class="legend-item"><span class="legend-icon" style="background:linear-gradient(0deg,rgba(247,240,42,1),rgba(255,84,84,1));"></span><span class="legend-label">报修</span></div><div class="legend-item"><span class="legend-icon" style="background:linear-gradient(0deg,rgba(22,233,16,1),rgba(22,230,247,1));"></span><span class="legend-label">维护</span></div></div><div class="chart"><div class="chart-item" v-for="(item,index) in datas"><div class="chart-bg"><span class="char-bg-item" v-for="n in 12" v-bind:style="char_bg_item_style1(item,n)"></span></div><div class="chart-bg"><span class="char-bg-item" v-for="n in 12" v-bind:style="char_bg_item_style2(item,n)"></span></div><div class="chart-label">{{item.label}}</div></div></div></div></div>
</template>
<script>
import gradient from "@/lib/GradientColor.js";export default {name: "BatteryCss",data() {return {maxValue: 30,datas: [{ label: "2023/01", fix: 10, mainten: 12 },{ label: "2023/02", fix: 8, mainten: 6 },{ label: "2023/03", fix: 4, mainten: 8 },{ label: "2023/04", fix: 7, mainten: 5 },{ label: "2023/05", fix: 4, mainten: 6 },{ label: "2023/06", fix: 2, mainten: 3 },],};},methods: {char_bg_item_style1(item, n) {if (n <= 12 - item.fix) {return {backgroundColor: "#D9D9D9",};} else {return {//渐变色backgroundColor: gradient("#F0E82C", "#EF7E5D", 12, n),};}},char_bg_item_style2(item, n) {if (n <= 12 - item.mainten) {return {backgroundColor: "#D9D9D9",};} else {return {//渐变色backgroundColor: gradient("#25E2F2", "#19E419", 12, n),};}},},
};
</script>
<style scoped>
.panel {width: 500px;background: #1c242b;
}
.legend {height: 32px;width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;line-height: 32px;
}.legend-item {width: 80px;
}.legend-icon {width: 18px;height: 12px;border-radius: 2px;display: inline-block;
}.legend-label {font-size: 12px;color: #aaa;margin-left: 10px;
}.chart {width: 100%;height: calc(100% - 32px);display: flex;flex-direction: row;justify-content: space-around;align-items: center;
}.chart-item {width: 72px;height: 124px;
}.chart-bg {position: relative;top: 14px;left: 14px;width: 18px;height: 81px;display: flex;flex-direction: column;justify-content: space-between;float: left;margin-left: 2px;
}.char-bg-item {height: 4px;width: 18px;display: inline-block;background: #d9d9d9;
}.chart-label {height: calc(124px - 81px);font-size: 14px;color: #a5a6a6;position: relative;top: 20px;text-align: center;
}
</style>

版本信息↓

思路很简单,就是循环画一个一个小块块

http://www.lryc.cn/news/178043.html

相关文章:

  • FileManager/本地文件增删改查, Cache/图像缓存处理 的操作
  • vue中使用富文本编辑器
  • 13.(开发工具篇github)如何在GitHub上上传本地项目
  • vue3中状态适配
  • uniapp h5 端 router.base设置history后仍有#号
  • 上网行为监管软件(上网行为管理软件通常具有哪些功能)
  • C#中的for和foreach的探究与学习
  • 【ES6知识】Promise 对象
  • 【Git】配置SSH密钥实现Git操作免密
  • AI能给百融云带来什么?
  • AI创作系统ChatGPT商业运营版源码+AI绘画/支持GPT联网提问/支持Midjourney绘画+Prompt应用+支持国内AI提问模型
  • vue.draggable拖拽,项目中三个表格互相拖拽的实例操作,前端分页等更多小技巧~
  • 400G DR4 QSFP-DD光模块:数据中心应用全攻略
  • 自动驾驶:路径规划概述
  • vlc将本地文件推流成ts实时流
  • C# 自定义控件库之Lable组合控件
  • 解密防关联指纹浏览器:联盟营销领域的秘密武器
  • asp.net core mvc Razor +dapper 增删改查,分页(保姆教程)
  • 网络安全——自学(黑客)方法
  • 秋招算法岗,面试复盘
  • AI类APP能做什么
  • 计算机毕业设计 基于SSM的垃圾分类管理系统(以医疗垃圾为例)的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 友思特案例|友思特 Ensenso 3D相机:汽车工业自动化的革命性力量
  • 【5G PHY】物理层逻辑和物理天线的映射
  • MySQL如何优雅处理批量新增和更新?ON DUPLICATE KEY UPDATE用它!
  • 网络安全(加密, Hashing, 证书, SSL/TLS等)学习小结
  • 缓冲技术在嵌入式中的应用
  • vscode交叉编译cmake工程,toolchains设置
  • MATLAB算法实战应用案例精讲-【优化算法】季节优化算法(SOA)(附MATLAB代码实现)
  • DevOps持续集成与交付