打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一篇文章教会你利用html5和css3实现3D立方体效果图
【一、项目背景】
随着HTML5 CSS3的出现和发展,使得我们的网页可以实现更加复杂的效果,也使得我们的浏览体验更加丰富,所以今天我们将制作一个正方体的3D效果。
【二、项目分析】
想要利用CSS3实现3D立方体,就要清楚立方体是由六个面组成,分上下左右和前后,考虑这些可以帮助我们更好的融入CSS3的代码。
因此我设置了6个div,作为立方体的6个面。因为定位的原因,一开始所有的盒子都是面对着屏幕这面的,因此要赋予每个面不一样的值,即不一样的位置它才能展现出来。
【三、需要的工具】
Adobe Dreamweaver
【四、项目目标】
实现3的l立方体旋转,鼠标移上去实现缩放效果。
【五、项目实现】
1、打开Adobe Dreamweaver,新建html文档。把标题改为“3d立方体”。
2、在body标签,创建一个div盒子 ,给它class属性,在外层div里面在创建6个div表示立方体的六个面,同样给它们 class属性。
<body> <div class="box"> <div class="box2"> <div class="box-2">top</div> <div class="box-2">btm</div> <div class="box-2">left</div> <div class="box-2">right</div> <div class="box-2">face</div> <div class="box-2">back</div> </div> </div></body>3、创建CSS样式
<style type="text/css">.box { width: 200px; height: 200px; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; transition: all 2s; transform-style: preserve-3d; transform: rotateX(15deg) rotateY(-15deg);}.box:hover { transform: rotateX(300deg) rotateZ(300deg) rotateY(-300deg) scale(0.5);}.box .box-2 { width: 100px; height: 100px; text-align: center; line-height: 100px; font-size: 1.2em; position: absolute; top: 0; left: 0;}.box .box-2:nth-child(1) { /*小立方体第一面*/ background: rgba(225,0,0,0.5); transform: rotateX(90deg) translateZ(50px); #角度 偏移量}.box .box-2:nth-child(2) { /*小立方体第二面*/ background: rgba(255,255,0,0.5); transform: rotateX(-90deg) translateZ(50px);}.box .box-2:nth-child(3) { /*小立方体第三面*/ background: rgba(225,0,255,0.5); transform: rotateY(-90deg) translateZ(50px);}.box .box-2:nth-child(4) { /*小立方体第四面*/ background: rgba(0,255,0,0.5); transform: rotateY(90deg) translateZ(50px);}.box .box-2:nth-child(5) { /*小立方体第五面*/ background: rgba(225,0,0,0.5); transform: translateZ(50px);}.box .box-2:nth-child(6) { /*小立方体第六面*/ background: rgba(0,0,255,0.5); transform: rotateY(180deg) translateZ(50px);}</style> </head> <body> <div class="box"> <div class="box2"> <div class="box-2">top</div> <div class="box-2">btm</div> <div class="box-2">left</div> <div class="box-2">right</div> <div class="box-2">face</div> <div class="box-2">back</div> </div> </div></body></html>方法说明:
rotateX() 方法
通过 rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转。
rotateY() 旋转
通过 rotateY() 方法,元素围绕其 Y 轴以给定的度数进行旋转。
rotateZ() 旋转
通过 rotateZ() 方法,元素围绕其 Z 轴以给定的度数进行旋转。
下表是部分属性所代表的含义:
属性含义
width定义宽度
height定义高度
margin: auto位置居中
transform向元素应用 2D 或 3D 转换
transform-origin允许你改变被转换元素的位置。
transform-style规定被嵌套元素如何在 3D 空间中显示
perspective规定 3D 元素的透视效果
perspective-origin规定 3D 元素的底部位置
backface-visibility定义元素在不面对屏幕时是否可见
4、运行一下看下效果;点击F12运行。
5、呈现的效果如下图所示。
可以看到效果基本上可以 ,可是鼠标移上去没有效果。
6、添加鼠标移上去缩放的效果
.box:hover{ transform: rotateX(300deg) rotateZ(300deg) rotateY(-300deg) scale(0.5);
} # scale是缩放倍数7、外层再添加一个3d立方体形成叠加效果
body代码:
<div class="box"><div class="box-1">top</div><div class="box-1">btm</div><div class="box-1">left</div><div class="box-1">right</div><div class="box-1">face</div><div class="box-1">back</div></div>CSS样式代码
<style type="text/css">.box .box-1{ width: 200px; height: 200px; text-align: center; line-height: 200px; font-size: 2em; position: absolute; top: 0; left: 0; } .box .box-1:nth-child(1){ /*大立方体第一面*/ background: rgba(225,0,0,0.5); transform:rotateX(90deg) translateZ(100px);
}.box .box-1:nth-child(2){ /*大立方体第二面*/ background: rgba(255,255,0,0.5); transform:rotateX(-90deg) translateZ(100px);
}.box .box-1:nth-child(3){ /*大立方体第三面*/ background: rgba(225,0,255,0.5); transform:rotateY(-90deg) translateZ(100px); }.box .box-1:nth-child(4){ /*大立方体第四面*/ background: rgba(0,255,0,0.5); transform:rotateY(90deg) translateZ(100px);
}.box .box-1:nth-child(5){ /*大立方体第五面*/ background: rgba(225,0,0,0.5); transform:translateZ(100px); }.box .box-1:nth-child(6){ /*大立方体第六面*/ background: rgba(0,0,255,0.5); transform:rotateY(180deg) translateZ(100px); }</style>【六、效果展示】
1、点击运行,效果如下图所示。
2、鼠标移到立方体上,缩放效果展示,如下图所示。
【七、总结】
1、整个效果写出来,还是比较简单的,只要明白各个命令的意思,剩下的就是组织一下逻辑而已。
2、欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
3、CSS样式的效果不止这些,还有更加炫酷的效果,值得大家去学习。
4、实现的方法3d立方体的方法有很多,但这是最简单的一种。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
网页制作CSS之hover的三种使用方法
CSS3多米诺骨牌动画代码
基于HTML的3D立方体相册下载
【聊代码】第八十集 css样式(之五十)透明旋转立方体
CSS 3D轮转数字
javascript – Microsoft徽标动画v2
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服