千家信息网

css怎么创建3D立体的条形图

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章主要介绍了css怎么创建3D立体的条形图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例代码在WebKit浏览器中效果最好,
千家信息网最后更新 2025年02月06日css怎么创建3D立体的条形图

这篇文章主要介绍了css怎么创建3D立体的条形图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

  示例代码在WebKit浏览器中效果最好,在Firefox(v13)中也相当不错。

  1、设置网格

  首先设置一个#stage元素,我们可以在其中定义将要查看任何3D转换的透视图。基本上是查看器与平面屏幕相关的位置。然后,因为我们正在创建图形,我们需要设置轴和网格(#chart)。

  虽然我们可以轻松地创建背景图像并将其平铺以形成网格图案,但我们决定使用CSS线性渐变语法。在下面的所有代码中,-moz-styles只复制-webkit-样式。

  

  #stage{

  -webkit-perspective:1200px;

  -webkit-perspective-origin:0%0%;

  -moz-perspective:1200px;

  -moz-perspective-origin:0%0%;

  background:rgba(0,255,255,0.2);

  }

  #chart{

  position:relative;

  margin:10emauto;

  width:400px;

  height:160px;

  border:1pxsolid#000;

  background:-webkit-repeating-linear-gradient(left,rgba(0,0,0,0)0,rgba(0,0,0,0)38px,#ccc40px),-webkit-repeating-linear-gradient(bottom,rgba(0,0,0,0),rgba(0,0,0,0)38px,#ccc40px);

  background:-moz-repeating-linear-gradient(left,rgba(0,0,0,0)0,rgba(0,0,0,0)38px,#ccc40px),-moz-repeating-linear-gradient(bottom,rgba(0,0,0,0),rgba(0,0,0,0)38px,#ccc40px);

  -webkit-transform-origin:50%50%;

  -webkit-transform:rotateX(65deg);

  -webkit-transform-style:preserve-3d;

  -moz-transform-origin:50%50%;

  -moz-transform:rotateX(65deg);

  -moz-transform-style:preserve-3d;

  }

  

  图表大小为400x160像素,网格为40像素。如您所见,背景网格由两个水平和垂直运行的重复渐变组成。图表已从屏幕倾斜65度。

  2、定义3D条形图

  图表中的每个条形图都由四个边和一个帽组成。这里的样式是针对条形CSS类,然后可以在不同的位置和颜色中多次使用。它们在HTML中定义,您很快就会看到。

  要想象正在应用的变换,请考虑页面上的垂直十字平面。然后将四个侧面旋转离开我们以形成柱子。简单。

  

  .bar{

  position:absolute;

  bottom:40px;

  margin:04px;

  width:32px;

  height:40px;

  outline:1pxsolid#000;

  text-align:center;

  line-height:40px;

  -webkit-transform-style:preserve-3d;

  -moz-transform-style:preserve-3d;

  font-size:20px;

  }

  .barfront,.barback,.barleft,.barright{

  position:absolute;

  outline:inherit;

  background:inherit;

  }

  .barfront{

  width:inherit;

  bottom:0;

  -webkit-transform:rotateX(90deg);

  -webkit-transform-origin:500%;

  -moz-transform:rotateX(90deg);

  -moz-transform-origin:500%;

  }

  .barback{

  width:inherit;

  top:0;

  -webkit-transform:rotateX(-90deg);

  -webkit-transform-origin:50%0;

  -moz-transform:rotateX(-90deg);

  -moz-transform-origin:50%0;

  }

  .barright{

  height:inherit;

  right:0;

  -webkit-transform:rotateY(-90deg);

  -webkit-transform-origin:100%50%;

  -moz-transform:rotateY(-90deg);

  -moz-transform-origin:100%50%;

  }

  .barleft{

  height:inherit;

  left:0;

  -webkit-transform:rotateY(90deg);

  -webkit-transform-origin:0%50%;

  -moz-transform:rotateY(90deg);

  -moz-transform-origin:0%50%;

  }

  

  在CSS代码中,我们没有定义图表中条形图的位置或颜色。这需要为每个元素单独完成。但请注意,我们在可能的情况下使用了inherit属性来简化这一过程。

  3、条形图HTML标记

  在这里,您可以看到实践中用于下面演示的代码。图表上有三个条形图。每个酒吧都是一个div,有四个孩子div组成四边。您可以拥有任意数量的条形图并将它们放置在图表上的任何位置。

  

  

  

  

  

  

  

  20

  

  

  

  

  

  

  30

  

  

  

  

  

  

  10

  

  

  

  在上面的代码中,您可以看到突出显示设置图表中条形图的x位置的代码以及每个条形图的高度(需要为构成条形图的每个元素定义)。在那里我们应用的颜色(红色,蓝色,黄色)略微透明。

  4、最终结果

  如果您使用的是WebKit浏览器(Safari,Chrome,iPhone,iPad),那么您应该看到3D条形图以及一些可用于修改某些值的滑块。在Firefox中,条形图有一些人工制品,滑块呈现为普通输入框,但仍然有效。

  1.jpg

  说明:

  可以通过修改.bar盒子的数值来实现条形柱的高度变化,例:

  

  

  

  

  

  30

  

感谢你能够认真阅读完这篇文章,希望小编分享的"css怎么创建3D立体的条形图"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

很赞哦!
条形 图表 代码 位置 网格 篇文章 元素 颜色 立体 像素 屏幕 平面 样式 正在 浏览器 背景 面的 高度 中条 并将 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 怎么画网络安全绘本 网络安全工作总结会议纪要 酒店数据安全服务器 计算机网络技术适合的工作 sql查询替换数据库 网络安全的高级职称 独立服务器有什么坏处 网络安全和信息化重点工作 怎么提高数据库的效率 阿杜数据库 湖南省安卓软件开发薪资 软件开发预付款一般给多少 宜宾媒体服务器 软件开发有趣事情 建筑软件开发商 webmail服务器 obs软件开发 服务器角色配置 国外云服务器免费 公司网络安全宣传效果 网络安全工作总结会议纪要 三菱plc数据库怎么打开 目前国家网络安全主要风险 爱思助手点错如何恢复数据库 微信数据库损坏怎么处理 海底捞外卖服务器 天龙八部帐号数据库 提供网络技术支持违法吗 如何导出数据库备份 门罗币病毒攻击服务器
0