千家信息网

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

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要介绍了css怎么创建3D立体的条形图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例代码在WebKit浏览器中效果最好,
千家信息网最后更新 2025年11月10日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安全错误 数据库的锁怎样保障安全 服务器上的文件列表 金融网络安全办公 征途手游怎么更换服务器 局域网服务器设置网关 网络安全对军事 gis软件开发论文 edb数据库转换 dayz服务器管理员设置 病毒网络安全法 安徽塔式服务器经销商 pg数据库mysql 本地服务器建站 mysql模拟百万数据库 swoole 连接数据库 移动软件开发 安徽服务器硬盘质保期 互联网弱化网络安全相关论点 网络安全计划表 诚迈科技软件开发能力 网络安全培训大概多少钱 吉林市网络安全知识 软件开发工作室赚钱思路 安徽营销网络技术市场价格 真实的武汉软件开发公司 3d手机游戏是什么软件开发的 软件开发部分哪些部门 网络安全宣传展板简报 阿里数据库备份 包头烽泰软件开发 配置文件中的数据库密码
0