你家有类似的水晶魔方吗?我第一次见到它的时候,就觉得这个东西真不错,所以我家现在有2个。不过一个已经坏掉了,坐车放在箱子里面,颠簸导致水晶的四个角都破损了,大家如果要携带一定要小心哦。
现在我们来制作一个永远不会破损的水晶魔方,用代码实现,要不代码出bug,永远不坏。
CSS3实现水晶魔方效果。
结构
水晶是一个正方体,所以有6个面,用html表示如下:
<ul class="cube-inner">
<li class="top"></li>
<li class="bottom"></li>
<li class="left"></li>
<li class="right"></li>
<li class="front"></li>
<li class="back"></li>
</ul>
逐个击破
每个面都是一个正方形,所以我们对6个面用统一样式
.cube-inner {
position: relative;
margin: 200px auto;
width: 100px;
}
.cube-inner li {
position: absolute;
display: block;
width: 100px;
height: 100px;
background: red;
}
这样每个6个面都重叠在一起了,我们用transform
,改变每个面的在空间上的位置。
在设置每个面之前,我们先使其整个魔方元素在3D空间呈现(transform-style: preserve-3d
),并旋转一下,看起来更方便。
.cube-inner {
position: relative;
margin: 200px auto;
width: 100px;
transform-style: preserve-3d;
transform: rotateX(-33.5deg) rotateY(45deg);
}
正面
.cube-inner .front {
transform: translateZ(50px);
background: blue;
}
上面
.cube-inner .top {
transform: rotateX(90deg) translateZ(50px);
background: green;
}
解锁全文需支付¥1.00,点击支付
正文结束
Ctrl + Enter