CSS动画具有很强的视觉冲击力,特别是炸开效果。本文将介绍如何实现一个立方体炸开的效果。
html:
<div class="cube">
<div class="face front">Front</div>
<div class="face back">Back</div>
<div class="face left">Left</div>
<div class="face right">Right</div>
<div class="face top">Top</div>
<div class="face bottom">Bottom</div>
</div>
css:
.cube {
width: 200px;
height: 200px;
position: relative;
transform-style: preserve-3d;
animation: explode 2s ease;
}
.cube .face {
position: absolute;
width: 200px;
height: 200px;
background-color: #fff;
border: 1px solid #000;
text-align: center;
line-height: 200px;
font-size: 24px;
}
.cube .front {
transform: translateZ(100px);
}
.cube .back {
transform: translateZ(-100px);
}
.cube .left {
transform: rotateY(-90deg) translateZ(100px);
}
.cube .right {
transform: rotateY(90deg) translateZ(100px);
}
.cube .top {
transform: rotateX(-90deg) translateZ(100px);
}
.cube .bottom {
transform: rotateX(90deg) translateZ(100px);
}
@keyframes explode {
0% {
transform: translateZ(0);
}
50% {
transform: rotateY(720deg) translateZ(600px);
}
100% {
transform: rotateY(1440deg) translateZ(0);
}
} 首先,我们需要创建一个立方体,可以使用6个div组成,每个div表示立方体的一个面,通过设置transform属性的值实现视角的变换。然后,我们在立方体上应用一个动画explode,并设置两个关键帧,一个是50%时,立方体旋转720度并向后移动600px,另一个是100%时,立方体再次旋转720度并回到原位。
通过以上代码,我们成功地实现了一个立方体炸开的效果,为网页增加了一份活力和动感。