پیشنمایش زنده
کد HTML
<div class="black-hole">
<div class="tunnel">
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
<div class="ring"></div>
</div>
<div class="aura"></div>
<div class="overlay"></div>
</div>
کد CSS
.black-hole {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.black-hole::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 150%;
height: 140%;
background: radial-gradient(ellipse at 50% 55%, transparent 10%, black 50%);
z-index: 2;
}
.black-hole::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
background: radial-gradient(ellipse at 50% 75%, #a900ff 20%, transparent 75%);
mix-blend-mode: overlay;
z-index: 5;
}
.aura {
position: absolute;
top: -71.5%;
left: 50%;
transform: translateX(-50%);
width: 30%;
height: 400%;
background: linear-gradient(
20deg,
#00f8f1,
#ffbd1e20 16.5%,
#fe848f 33%,
#fe848f20 49.5%,
#00f8f1 66%,
#00f8f160 85.5%,
#ffbd1e 100%
);
background-size: 100% 200%;
border-radius: 0 0 100% 100%;
filter: blur(50px);
mix-blend-mode: plus-lighter;
opacity: 0.75;
z-index: 3;
animation: aura-glow 5s infinite linear;
}
.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(
transparent,
transparent 1px,
white 1px,
white 2px
);
mix-blend-mode: overlay;
opacity: 0.5;
z-index: 10;
}
.tunnel {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80%;
height: 80%;
z-index: 1;
}
.ring {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
border: 1px solid #444;
animation: ring-pulse 10s infinite linear;
}
@keyframes aura-glow {
0% {
background-position: 0 100%;
}
100% {
background-position: 0 300%;
}
}
@keyframes ring-pulse {
0% {
width: 0;
height: 0;
opacity: 1;
}
100% {
width: 100%;
height: 100%;
opacity: 0;
}
}
/* Create multiple rings with different sizes and delays */
.ring:nth-child(1) {
animation-delay: 0s;
width: 10%;
height: 10%;
}
.ring:nth-child(2) {
animation-delay: 1s;
width: 20%;
height: 20%;
}
.ring:nth-child(3) {
animation-delay: 2s;
width: 30%;
height: 30%;
}
.ring:nth-child(4) {
animation-delay: 3s;
width: 40%;
height: 40%;
}
.ring:nth-child(5) {
animation-delay: 4s;
width: 50%;
height: 50%;
}
.ring:nth-child(6) {
animation-delay: 5s;
width: 60%;
height: 60%;
}
.ring:nth-child(7) {
animation-delay: 6s;
width: 70%;
height: 70%;
}
.ring:nth-child(8) {
animation-delay: 7s;
width: 80%;
height: 80%;
}
.ring:nth-child(9) {
animation-delay: 8s;
width: 90%;
height: 90%;
}
.ring:nth-child(10) {
animation-delay: 9s;
width: 100%;
height: 100%;
}