位置: IT常识 - 正文

CSS 实现六边形柱状图(html六边形的盒子怎么做)

编辑:rootadmin
CSS 实现六边形柱状图 前言

推荐整理分享CSS 实现六边形柱状图(html六边形的盒子怎么做),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:css六边形边框,css绘制六边形,html六边形的盒子怎么做,css绘制六边形,css绘制六边形,css绘制六边形,css实现六边形,css绘制六边形,内容如对您有帮助,希望把文章链接给更多的朋友!

👏CSS 实现六边形柱状图 速速来Get吧~

🥇文末分享源代码。记得点赞+关注+收藏!

1.实现效果

2.实现步骤定义全局css变量,柱状宽度为–w,最大高度为–h,柱形整体为渐变色,定义上部分颜色为 --bar-shape,下部分颜色为 --bar-bg:root{/* 柱形宽度-全局 */ --w: 45px; /* 柱形高度最大值 */ --h: 300px; /* 柱形上部分颜色 */ --bar-shape: rgba(186, 210, 226, 0.9);/* 柱形下部分颜色 */ --bar-bg: #f083b6;}根据定义的变量,绘制一个矩形<div class="bar"><span></span></div>.bar{position: relative;width: var(--w);height: var(--height);background: linear-gradient(to top, var(--bar-bg), var(--bar-shape));}定义柱状顶部和底部的六边形颜色,顶部颜色为 --bar-top,底部颜色为 --bar-bg:root{/* 柱形顶部六边形颜色 */ --bar-top: rgb(186, 210, 226); /* 柱形下部分颜色+柱形底部六边形 */ --bar-bg: #f083b6;}用clip-path裁剪出六边形,定义clip-path裁剪变量–path:root{/* clip-path裁剪六边形 */ --path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0);}

clip-path:clip-path CSS 属性使用裁剪方式创建元素的可显示区域。区域内的部分显示,区域外的隐藏。

这里我们使用clip-path在线网站,在线拖拽出我们想要的形状CSS 实现六边形柱状图(html六边形的盒子怎么做)

为该矩形添加前后伪元素,宽度为–w,高度为宽度的40%,用clip-path实现六边形.bar::before,.bar::after { content: ""; position: absolute; width: var(--w); height: calc(var(--w) / 2.5); clip-path: var(--path); left: 0;}设置前伪元素的背景色,top为0,层级为2,置于最上方

.bar::before { background: var(--bar-top); top: 0; /* 层级置于最上层 */ z-index: 2; transform: translateY(-50%); }设置后伪元素的背景色,bottom为0,层级为-1,置于最下方

.bar::after { background: var(--bar-bg); bottom: 0; /* 层级置于最下层 */ z-index: -1; transform: translateY(50%);}用box-shadow给该矩形添加阴影区域,宽度为–w的二分之一,高度设置为101%(保留1%的高度余出),设置absolute定位,bottom设置为底边六边形高度的二分之一,水平居中

<div class="bar">+ <span></span></div>

box-shadow:CSS box-shadow 属性用于在元素的框架上添加阴影效果。你可以在同一个元素上设置多个阴影效果,并用逗号将他们分隔开。该属性可设置的值包括阴影的 X 轴偏移量、Y 轴偏移量、模糊半径、扩散半径和颜色。

添加box-shadow

.bar span { position: absolute; --d: calc(var(--w) / 2); --b: calc(var(--w) / -2.5 / 2); width: var(--d); height: 101%; left: calc(50% - var(--d) / 2); bottom: var(--b); box-shadow: 0px -5px 5px var(--bar-line);}设置hover事件,并添加过渡效果

.bar:hover {height: 100%;}.bar {+ transition: all 1s;}定义多个元素,为其设置不同的高度,宽度(颜色小伙伴们 可以自行调试哈),就完成啦

3.实现代码<style> :root { /* 柱形上部分颜色 */ --bar-shape: rgba(186, 210, 226, 0.9); /* 柱形顶部六边形颜色 */ --bar-top: rgb(186, 210, 226); /* 柱形下部分颜色+柱形底部六边形 */ --bar-bg: #f083b6; /* 柱形线条颜色 */ --bar-line: rgba(0, 0, 0, 0.2); /* clip-path裁剪六边形 */ --path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0); /* 柱形宽度-全局 */ --w: 45px; /* 柱形高度最大值 */ --h: 300px; } section { /* flex布局 */ display: flex; align-items: flex-end; height: var(--h); } .bar { position: relative; width: var(--w); height: var(--height); margin-right: 20px; background: linear-gradient(to top, var(--bar-bg), var(--bar-shape)); transition: all 1s; } .bar:hover { height: 100%; } .bar:last-child { margin-right: 0; } /* bar添加前后伪元素,设置为clip-path裁剪后的六边形 */ .bar::before, .bar::after { content: ""; position: absolute; width: var(--w); height: calc(var(--w) / 2.5); clip-path: var(--path); left: 0; } .bar::before { background: var(--bar-top); top: 0; /* 层级置于最上层 */ z-index: 2; transform: translateY(-50%); } .bar::after { background: var(--bar-bg); bottom: 0; /* 层级置于最下层 */ z-index: -1; transform: translateY(50%); } .bar span { position: absolute; --d: calc(var(--w) / 2); --b: calc(var(--w) / -2.5 / 2); width: var(--d); height: 101%; left: calc(50% - var(--d) / 2); bottom: var(--b); box-shadow: 0px -5px 5px var(--bar-line); }</style><body> <section> <div class="bar" style="--height: 5%; --w: 25px"> <span></span> </div> <div class="bar" style="--height: 60%"> <span></span> </div> <div class="bar" style="--height: 30%; --w: 50px"> <span></span> </div> <div class="bar" style="--height: 60%; --w: 60px"> <span></span> </div> <div class="bar" style="--height: 30%; --w: 30px"> <span></span> </div> <div class="bar" style="--height: 80%; --w: 35px"> <span></span> </div> <div class="bar" style="--height: 10%; --w: 45px"> <span></span> </div> </section></body>4.写在最后🍒看完本文如果觉得对你有一丢丢帮助,记得点赞+关注+收藏鸭 🍕更多相关内容,关注🍥苏苏的bug,🍡苏苏的github,🍪苏苏的码云~
本文链接地址:https://www.jiuchutong.com/zhishi/299672.html 转载请保留说明!

上一篇:Echarts中国地图与世界地图实战(echarts中国地图代码)

下一篇:javascript获取url信息的常见方法(javascript获取字符串长度)

  • 土地增值税清算管理规程
  • 公司出售房产缴纳税金如何凭证
  • 个人去税务局开劳务票 税点是多少
  • 金税四期对企业的风险
  • 减免税款抵税怎么做分录
  • 普通发票金额和申报工资有关系吗
  • 怎么在网上申请电话卡
  • 免税农产品包括烟叶吗
  • 企业如何加强应收账款的管理
  • 账簿登记的重要内容
  • 缴纳社保的会计分录怎么做
  • 取得虚开增值税专票如何税务处理
  • 一次性加速折旧汇算清缴调增吗
  • 预付货款工程完工后如何结转?
  • 为什么报税资料老是显示有
  • 发票联给错怎么办?
  • 个人出租住房增值税免税政策
  • 中标费用由哪方出
  • 支票大写金额书写转换
  • 外聘老师课时费计入什么科目
  • 城镇土地使用税征收标准及计算方法
  • 库存商品结转成本
  • 苹果iphone6s plus打电话没有人名
  • mac版本系统
  • win11任务管理器怎么没有了
  • win11如何退回win10超过10天
  • 商标申报费用会退回来吗
  • newacs.exe是什么进程
  • php替换字符串中的某个字符
  • 委托代销商品发票是谁开给客户
  • 建筑业的账务处理办法
  • 在产品按定额成本计价法的特点
  • 百度飞桨paddle
  • 韦罗尼卡
  • 厂房改造支出可以计入厂房价值吗
  • php测验
  • 稽查补缴所得税分录
  • typescript中文文档
  • 人工智能rl
  • php禁用system用什么绕过
  • 出租房屋收取跨年度的预收租金收入
  • 增值税价税合计怎么填
  • 结算外单位收取的费用
  • 发票校验码的作用
  • 低值易耗品的
  • 四联发票都需要盖章吗
  • 营业执照注销要钱吗
  • sql编程软件哪个好用
  • 经营出租固定资产折旧费计入什么科目
  • 应交税费余额是什么意思
  • 不征税收入与免税收入的区别是什么
  • 残保金是应交税费吗
  • 国外差旅费如何确定汇率呢
  • 无法收回的款项怎么记账
  • 承兑汇票需要做账吗
  • 认购股份的形式主要有
  • 事业单位可以报考事业单位吗
  • 盈余公积和未分配利润合起来构成
  • 敬老院的会计科目
  • 企业要建账需留什么资料
  • 增值税稽查补交税会计处理
  • win8激活点不进去
  • ubuntu20.04安装配置
  • Winpack.exe - Winpack是什么进程
  • win10红石版
  • 登录ip怎么查位置
  • linux系统的
  • 安装 centos
  • linux的批处理
  • 在Linux系统中安装虚拟window
  • synergy linux
  • win10的播放设置在哪
  • node链接数据库
  • jquery 插件写法
  • node性能优化
  • unity动画教程
  • js canvas绘制图片
  • 权限android.permission.write
  • Android 4.4 Dialog 被状态栏遮挡的解决方法
  • 企业自建旧房产怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设