如何使用html+css制作一个3D立体相册
这篇文章主要介绍了如何使用html+css制作一个3D立体相册的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用html+css制作一个3D立体相册文章都会有所收获,下面我们一起来看看吧。
一、先看效果
二、实现步骤
1.我们知道一个正方体有6个面,所以定义一个父亲元素然后定义6个子元素作为6个面。每个面放一张图片。里面q1表示前面,h2表示后面,以此类推,就是首拼音。
<divclass="baba"><divclass="q1"><imgsrc="3d/1q.png"></div><divclass="h2"><imgsrc="3d/2h.png"></div><divclass="z3"><imgsrc="3d/3z.png"></div><divclass="y4"><imgsrc="3d/4y.png"></div><divclass="s5"><imgsrc="3d/5s.png"></div><divclass="x6"><imgsrc="3d/6x.png"></div></div>
2.让父元素定位,设立方体长宽,然后必须添加属性transform-style: preserve-3d;
.baba{position:relative;width:300px;height:300px;transform-style:preserve-3d;}
3.让子元素和图片跟父元素一样长宽。让它有点透明度。
.babadiv{position:absolute;width:100%;height:100%;opacity:0.8;}.babaimg{width:100%;height:100%;}
4.重要一步,给6个面设置位置。
.q1{transform:translateZ(150px);}.h2{transform:rotateY(180deg)translateZ(150px);}.z3{transform:rotateY(-90deg)translateZ(150px);}.y4{transform:rotateY(90deg)translateZ(150px);}.s5{transform:rotateX(90deg)translateZ(150px);}.x6{transform:rotateX(-90deg)translateZ(150px);}
5.这样立方体就设置好了,不过我们看不出来,所以让立方体转起来。给父元素添加animation属性
.baba{position:relative;width:300px;height:300px;transform-style:preserve-3d;animation:zuan6slinearalternateinfinite;}
@keyframeszuan{0%,5%{transform:rotateY(90deg);}20%,25%{transform:rotateY(180deg);}40%,45%{transform:rotateY(270deg);}60%,65%{transform:rotateX(-90deg);}80%,85%{transform:rotateX(0deg);}95%,100%{transform:rotateX(90deg);}}
完整代码:
<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><style>*{padding:0;margin:0;box-sizing:border-box;}body{height:100vh;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle,#e4e7e4,#111111);}.baba{position:relative;width:300px;height:300px;transform-style:preserve-3d;animation:zuan6slinearalternateinfinite;}.babadiv{position:absolute;width:100%;height:100%;opacity:0.8;}.babaimg{width:100%;height:100%;}.q1{transform:translateZ(150px);}.h2{transform:rotateY(180deg)translateZ(150px);}.z3{transform:rotateY(-90deg)translateZ(150px);}.y4{transform:rotateY(90deg)translateZ(150px);}.s5{transform:rotateX(90deg)translateZ(150px);}.x6{transform:rotateX(-90deg)translateZ(150px);}@keyframeszuan{0%,5%{transform:rotateY(90deg);}20%,25%{transform:rotateY(180deg);}40%,45%{transform:rotateY(270deg);}60%,65%{transform:rotateX(-90deg);}80%,85%{transform:rotateX(0deg);}95%,100%{transform:rotateX(90deg);}}</style></head><body><divclass="baba"><divclass="q1"><imgsrc="3d/1q.png"></div><divclass="h2"><imgsrc="3d/2h.png"></div><divclass="z3"><imgsrc="3d/3z.png"></div><divclass="y4"><imgsrc="3d/4y.png"></div><divclass="s5"><imgsrc="3d/5s.png"></div><divclass="x6"><imgsrc="3d/6x.png"></div></div></body></html>
关于“如何使用html+css制作一个3D立体相册”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何使用html+css制作一个3D立体相册”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注主机评测网行业资讯频道。
上一篇:PHP中怎么实现Swoole协程
下一篇:php如何去除字符串中左右字符
输入法切换键是哪个键?输入法切
冬月是哪一个月?冬月是什么意思
个人所得税退税金额怎么算出来的
输入法全角和半角有什么区别?输
a4纸尺寸是多少厘米?a4纸的由来
个人所得税扣除标准?个人所得税
输入法哪个好用?输入法介绍
卡拉OK是哪个国家发明的?卡拉OK
mikutools原神网页版入口链接?m
关机特别慢什么原因?电脑和手机