介绍

本文我给大家介绍如何使用CSS和HTML构造一个树状结构的树状图。树状结构我们在很多项目中要应用,如能耗分析、公司组织架构图、无限级分类等等。效果图如下:

html部分构建

树状图的数据结构是树形结构,我们通过嵌套ul和li来实现页面结构:

     <div class="tree"><ul><li><div class="box"><div class="node node-type1">综合能效</div></div><ul class="line-large"><li class="line-large"><div class="box"><div class="node node-type2">能耗指标</div></div><ul class="line-large"><li><div class="box"><div class="node node-type3"><div class="node-title1">总消耗</br>(t 标煤)</div><div class="node-target1">120</div></div></div><ul><li><div class="box"><div class="node node-type4"><div class="node-title1">供冷系统</br>(t 标煤)</div><div class="node-target1">40</div></div><div class="node node-type4 node-footer"><div class="node-target2">45%</div></div></div></li><li><div class="box"><div class="node node-type4"><div class="node-title1">供热系统</br>(t 标煤)</div><div class="node-target1">35</div></div><div class="node node-type4 node-footer"><div class="node-target2">65%</div></div></div></li><li><div class="box"><div class="node node-type4"><div class="node-title1">三联供系统</br>(t 标煤)</div><div class="node-target1">36</div></div><div class="node node-type4 node-footer"><div class="node-target2">45%</div></div></div></li><li><div class="box"><div class="node node-type4"><div class="node-title1">其他</br>(t 标煤)</div><div class="node-target1">9</div></div><div class="node node-type4 node-footer"><div class="node-target2">15%</div></div></div></li></ul></li><li class="box-right"><div class="box"><div class="node node-type3"><div class="node-title1">节能量</br>(t 标煤)</div><div class="node-target1">150</div></div></div><ul><li><div class="box"><div class="node node-type4"><div class="node-title1">三联供系统</br>(t 标煤)</div><div class="node-target1">90</div></div><div class="node node-type4 node-footer"><div class="node-target2">45%</div></div></div></li><li><div class="box"><div class="node node-type4"><div class="node-title1">可再生能源</br>(t 标煤)</div><div class="node-target1">60</div></div><div class="node node-type4 node-footer"><div class="node-target2">65%</div></div></div></li></ul></li></ul></li><li class="line-large"><div class="box"><div class="node node-type2">能效指标</div></div><ul class="line-large"><li class="box-left"><div class="box"><div class="node node-type3"><div class="node-title1">系统综合</br>能效</div><div class="node-target2">98%</div></div></div><ul><li><div class="box"><div class="node node-type4"><div class="node-title1">供冷系统</br>综合能效</div><div class="node-target2">45%</div></div></div></li><li><div class="box"><div class="node node-type4"><div class="node-title1">供热系统</br>综合能效</div><div class="node-target2">34%</div></div></div></li><li><div class="box"><div class="node node-type4"><div class="node-title1">三联供系统</br>综合能效</div><div class="node-target2">20%</div></div></div><ul><li><div class="box"><div class="node node-type5"><div class="node-title1">发电效率</div><div class="node-target2">20%</div></div></div></li><li><div class="box"><div class="node node-type5"><div class="node-title1">余热利用</br>效率</div><div class="node-target2">80%</div></div></div></li></ul></li></ul></li><li><div class="box"><div class="node node-type3"><div class="node-title1">清洁能源</br>发电占比</div><div class="node-target2">90%</div></div></div><ul><li><div class="box"><div class="node node-type4"><div class="node-title1">天然气</br>发电占比</div><div class="node-target2">45%</div></div></div></li><li><div class="box"><div class="node node-type4"><div class="node-title1">可再生能源</br>发电占比</div><div class="node-target2">55%</div></div></div><ul><li><div class="box"><div class="node node-type5"><div class="node-title1">风力占比</div><div class="node-target2">50%</div></div></div></li><li><div class="box"><div class="node node-type5"><div class="node-title1">光伏占比</div><div class="node-target2">50%</div></div></div></li></ul></li></ul></li></ul></li></ul></li></ul></div>

css部分构建

使用css样式在节点生成连接线(通过before和after属性可以在节点前后生成2个元素,设置50%的宽度和边线即可实现节点之间的连线)

.tree li
{float:left;text-align:center;list-style-type:none;position:relative;transition:all .5s;-webkit-transition:all .5s;-moz-transition:all .5s;padding:30px 5px 0;/*上段竖线*/position:relative;
}.tree li::before,.tree li::after
{content:'';position:absolute;top:0;right:50%;border-top:1px solid #56698A;/*横线*/width:50%;height:30px;/*上段竖线*/
}

对于不同的节点我们设置了不同的样式

.node
{border:1px solid #26375F;text-decoration:none;color:#FFFFFF;font-family:arial,verdana,tahoma;font-size:.85em;display:inline-block;transition:all .5s;-webkit-transition:all .5s;-moz-transition:all .5s;padding:0.4em .4em;
}.node-type1
{font-size:1em;background-color: #0089FD;padding:0.2em 1.1em;border-radius:0em .6em .6em .6em;
}.node-type2
{font-size:.9em;background-color: #611DEE;padding:0.3em 1.2em;border-radius:0em .6em .6em .6em;
}.node-type3
{color:#00B7BB;border-color:#00B7BB;
}.node-type4
{color:#9DF5FE;border-color:#9DF5FE;
}.node-type5
{color:#85F79D;border-color:#85F79D;
}

项目代码https://download.csdn.net/download/qq243348167/85674034

通过css和html构建能耗数据分析树状图相关推荐

  1. ztree插件树状图

    开发工具与关键技术:MVC 作者:Mr_恺 撰写时间:2019年6月27日 树状图不知道大家有没有做过,要不是做项目,项目中有这个需求,我也没有那么快能接触到这过功能,刚开始的时候对这个功能真的一脸懵 ...

  2. php 好看的树状图,php中构建树状图

    /** * 指定根层级的树状图 * @param array $list 初始数组 * @param int $root 最上级一条数据的id * @param string $pk 每一条数据的id ...

  3. HTML+CSS自定义树状图

    HTML+CSS自定义树状图 主体部分 css部分 主体部分 <div class="test"><ul class="domtree"> ...

  4. 超详细的html+css基础知识树状图~HTML标签

    前言 学习任何新知识,最重要的永远都是搭建属于自己的知识框架,随后学习的细碎知识点往框架里面填入,最后形成一棵属于自己的知识大树.本系列的博客专注更新总结好的思维导图,希望可以帮助大家快速理清知识结构 ...

  5. echart关系树状图_干货 | 25个常用Matplotlib图的Python代码

    50个Matplotlib图的汇编,在数据分析和可视化中最有用.此列表允许您使用Python的Matplotlib和Seaborn库选择要显示的可视化对象. 1.关联 散点图 带边界的气泡图 带线性回 ...

  6. json树状图可视化_12个流行的Python数据可视化库总结

    总结了10个不同领域的 Python 数据可视化库,有常用的,也有比较小众的. 1. matplotlib matplotlib是Python数据可视化库的OG.尽管它已有十多年的历史,但仍然是Pyt ...

  7. 一款很好用的JQuery dtree树状图插件(一)

    一款很好用的JQuery dtree树状图插件 树状图  -dtree 由于他的节点设置思想不错,使连接数据库的数据库设计比较方便. 下载dtree资源包,引用一下dtree.css和dtree.js ...

  8. html树状图右侧_树状图及制作方法(Excel 2016/Excel 2013)

    ↑↑↑关注ExcelEasy,让Excel更简单 树状图是一种展示层次结构数据的图表,可以很好的揭示各类别数据的比例关系及类别内数据的组成结构.今天为大家详细介绍一下树状图的制作方法 树状图在Exce ...

  9. 聚类树状图_聚集聚类和树状图-解释

    聚类树状图 Agglomerative Clustering is a type of hierarchical clustering algorithm. It is an unsupervised ...

  10. 数据可视化【十一】树状图

    Constructing a node-link tree visualization 首先将节点之间的连线画出来. 使用json函数读取文件以后,使用hierarchy等函数得到连线的数组,然后绑定 ...

最新文章

  1. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作
  2. Educational Codeforces Round 66 (Rated for Div. 2) B. Catch Overflow!
  3. php mysql 正则表达式_MYSQL使用正则表达式过滤数据_MySQL
  4. 用NFS挂载root出现:NFS: failed to create MNT RPC client, status=-101(-110)
  5. 经典网络分析 - Very Deep Convolutional Networks for Large-Scale Image Recognition(VGG)
  6. 哈啰出行回应单车违规投放:将尽快缴纳罚金 积极整改
  7. 电子商务系统的设计与实现(五):账务系统的功能接口设计
  8. Eigen学习笔记1
  9. 国二MySQL考些啥_国二考试时间 国二考试是什么
  10. Origin软件使用TIPS
  11. python遍历列表中所有元素_python如何遍历列表所有元素?
  12. 小学计算机课教师教学笔记,小学信息技术教师教育随笔
  13. 现代软件工程第三章练习与讨论(补)
  14. 电脑上如何录制微信语音聊天
  15. iOS主题/皮肤之SakuraKit
  16. C/S与B/S应用的区别
  17. city-picker城市代码
  18. 将数组排列成左边小,中间相等,右边大的形式 给定链表节点数组和某个值
  19. centos7 如何用无线网卡连接wifi
  20. OpenCV-Python 霍夫线变换 | 三十二

热门文章

  1. 介绍几个巨佬给大家认识
  2. Vue组件通信(父传子、子传父、兄弟传值)
  3. NOIP2004提高组一等奖名单[推荐]
  4. python怎么循环播放_如何用pyaudio循环播放音频?
  5. 像计算机科学家那样思考,如何像计算机科学家一样思考?(C语言篇)
  6. android和电脑共享文件,安卓手机怎么访问电脑共享文件
  7. 微信商户平台如何下载证书和设置KEY值?
  8. linux文件误删除该如何恢复?
  9. 计算机表格常用公式,十个办公常用的最基本的Excel函数
  10. android如何用mumu模拟器,如何安装网易MuMu模拟器 MuMu模拟器怎么用