<div class="hole-bg">
<div class="hole">
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
</div>
</div>
<style>
/* Контейнер под фон */
.hole-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden; /* чтобы круги не вылазили */
z-index: 0; /* фон */
}
/* Центрируем анимацию */
.hole {
display: flex;
align-items: center;
justify-content: center;
position: relative;
width: 100%;
height: 100%;
}
/* Сами круги */
.hole i {
display: block;
position: absolute;
width: 120px; /* размер круга */
height: 120px;
border-radius: 50%;
opacity: 0;
animation-name: scale;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-timing-function: linear;
background: rgba(255,255,255,0.15); /* цвет/прозрачность */
}
/* Задержки для кругов */
.hole i:nth-child(1) { animation-delay: 0.3s; }
.hole i:nth-child(2) { animation-delay: 0.6s; }
.hole i:nth-child(3) { animation-delay: 0.9s; }
.hole i:nth-child(4) { animation-delay: 1.2s; }
.hole i:nth-child(5) { animation-delay: 1.5s; }
.hole i:nth-child(6) { animation-delay: 1.8s; }
.hole i:nth-child(7) { animation-delay: 2.1s; }
.hole i:nth-child(8) { animation-delay: 2.4s; }
.hole i:nth-child(9) { animation-delay: 2.7s; }
.hole i:nth-child(10) { animation-delay: 3s; }
/* Анимация */
@keyframes scale {
0% {
transform: scale(2);
opacity: 0;
box-shadow: 0px 0px 50px rgba(255, 255, 255, 0.4);
}
50% {
transform: scale(1) translate(0px, -5px);
opacity: 1;
box-shadow: 0px 8px 20px rgba(255, 255, 255, 0.5);
}
100% {
transform: scale(0.1) translate(0px, 5px);
opacity: 0;
box-shadow: 0px 10px 20px rgba(255, 255, 255, 0);
}
}
</style>