CSS3提供了豐富的動畫效果,其中爆炸效果是一種很酷的效果。下面我們來一步步實現這種效果。
.box {
position: relative;
width: 100px;
height: 100px;
background-color: #f00;
border-radius: 50%;
animation: explosion 0.5s forwards;
}
@keyframes explosion {
0% {
transform: scale(1);
}
100% {
transform: scale(2);
opacity: 0;
}
}
.box::before, .box::after {
content: '';
position: absolute;
width: 10px;
height: 10px;
background-color: #fff;
border-radius: 50%;
animation: fly 0.5s forwards;
}
.box::before {
top: -20px;
left: 20px;
}
.box::after {
top: 20px;
left: -20px;
}
@keyframes fly {
0% {
transform: translate(0, 0) rotate(0);
}
100% {
transform: translate(80px, 80px) rotate(720deg);
opacity: 0;
}
}
我們通過在元素上應用一個爆炸動畫,讓它在0.5秒內從原來的大小變為兩倍大小,并且逐漸消失。然后,我們使用偽元素在元素上方和下方各創建一個小圓圈,并應用一個飛行動畫,讓它們飛離爆炸中心并逐漸消失。
通過組合這兩個動畫效果,我們就可以實現一個很酷的爆炸效果了。不過要注意的是,這種效果可能會對性能產生一定的影響,因此要謹慎使用。