# 如何使用 css 写一个有 3D 效果的立方体

Issue

欢迎在 Issue 中交流与讨论: Issue 179

Author

回答者: lihan1k

<div class="warp"> <div class="box box1">1</div> <div class="box box2">2</div> <div class="box box3">3</div> <div class="box box4">4</div> <div class="box box5">5</div> <div class="box box6">6</div> </div> `* { margin: 0; padding: 0; }

body { perspective: none; perspective-origin: 50% 50%; }

.warp { width: 500px; height: 500px; margin: 100px auto;

position: relative;

transform-style: preserve-3d;

transform: rotateX(45deg) rotateY(45deg);

animation: play 5s linear infinite;

}

.box { width: 200px; height: 200px; border: 2px solid #ccc;

text-align: center;
line-height: 200px;
font-size: 150px;
font-weight: bold;
color: #fff;

position: absolute;
top: 150px;
left: 150px;

}

.box1 { background: rgba(135,135,135,.3); transform: rotateY(90deg) translateZ(100px); }

.box2 { background: rgba(135,0,255,.3); transform: rotateY(90deg) translateZ(-100px); }

.box3 { background: rgba(255,125,125,.3); transform: rotateX(90deg) translateZ(-100px); }

.box4 { background: rgba(125,255,125,.3); transform: rotateX(90deg) translateZ(100px); }

.box5 { background: rgba(30,150,189,.3); transform: translateZ(100px); }

.box6 { background: rgba(169,150,189,.3); transform: translateZ(-100px); }

@keyframes play { from{ transform: rotateX(0) rotateY(0) rotateZ(0);} to {transform: rotateX(360deg) rotateY(180deg) rotateZ(90deg);} }`

扫码关注公众号全栈成长之路,并发送

即可在关注期间无限制浏览本站全部文章内容

你也可以在文章关于回复公众号扫码解锁全站的技术实现中获得解锁代码,永久解锁本站全部文章

Last Updated: 7/19/2020, 3:37:01 PM