<div class="Index">
<div class="text">73%</div>
<div class="contrast">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<div class="circle"></div>
<div class="button"></div>
</div>
</div>
* {
margin: 0;
}
.Index {
width: 100vw;
height: 100vh;
background: #000;
position: relative;
overflow: hidden;
.text{
width: 200px;
height: 200px;
text-align: center;
z-index: 9;
font-size: 30px;
line-height: 200px;
color: white;
position: absolute;
left: 50%;
top: 10%;
transform: translate(-50%, 0%);
}
.contrast{
width: 100%;
height: 100%;
background-color: #000;
overflow: hidden;
filter: contrast(15) hue-rotate(0);
position: relative;
animation: hueRotate 6s linear infinite;
span{
background: #00ff6f;
position: absolute;
bottom: 0;
border-radius: 100px 100px 0 0;
filter: blur(5px);
animation: moveUp ease-in-out infinite;
&:nth-child(1) {
width: 20px;
height: 20px;
left: 50%;
animation-duration: 4s;
animation-delay: 2s;
}
&:nth-child(2) {
width: 22px;
height: 22px;
left: 54%;
animation-duration: 4.2s;
animation-delay: 4s;
}
&:nth-child(3) {
width: 24px;
height: 24px;
left: 45%;
animation-duration: 3s;
animation-delay: 1s;
}
&:nth-child(4) {
width: 20px;
height: 22px;
left: 54%;
animation-duration: 5s;
animation-delay: 0s;
}
&:nth-child(5) {
width: 22px;
height: 22px;
left: 52%;
animation-duration: 3.5s;
animation-delay: 5s;
}
&:nth-child(6) {
width: 20px;
height: 20px;
left: 50%;
animation-duration: 4.7s;
animation-delay: 1.2s;
}
&:nth-child(7) {
width: 22px;
height: 22px;
left: 54%;
animation-duration: 2.5s;
animation-delay: 3.5s;
}
&:nth-child(8) {
width: 24px;
height: 24px;
left: 51%;
animation-duration: 5.6s;
animation-delay: 4.2s;
}
&:nth-child(9) {
width: 26px;
height: 26px;
left: 42%;
animation-duration: 5.2s;
animation-delay: 4s;
}
&:nth-child(10) {
width: 26px;
height: 22px;
left: 54%;
animation-duration: 3.8s;
animation-delay: 4.3s;
}
&:nth-child(11) {
width: 22px;
height: 22px;
left: 42%;
animation-duration: 4.2s;
animation-delay: 0.3s;
}
&:nth-child(12) {
width: 24px;
height: 24px;
left: 46%;
animation-duration: 4.6s;
animation-delay: 2.0s;
}
&:nth-child(13) {
width: 22px;
height: 22px;
left: 48%;
animation-duration: 3.8s;
animation-delay: 3.2s;
}
&:nth-child(14) {
width: 26px;
height: 22px;
left: 55%;
animation-duration: 5.2s;
animation-delay: 2.9s;
}
&:nth-child(15) {
width: 26px;
height: 22px;
left: 52%;
animation-duration: 4.9s;
animation-delay: 4.2s;
}
}
.button {
width: 150px;
height: 50px;
background: #00ff6f;
position: absolute;
left: 50%;
bottom: 0;
transform: translate(-50%, 0);
border-radius: 100px 100px 0 0;
filter: blur(5px);
}
}
.circle {
width: 300px;
height: 300px;
position: absolute;
top: 10px;
left: 50%;
margin-left: -150px;
box-sizing: border-box;
filter: blur(8px);
animation: circleRotate 6s linear infinite;
&::before{
content: "";
height: 200px;
width: 200px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(0);
background: #00ff6f;
border-radius: 42% 38% 62% 49% / 45%;
}
&::after {
content: "";
width: 176px;
height: 178px;
background: #000;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
}
@keyframes hueRotate {
0% {
filter: contrast(15) hue-rotate(0);
}
100% {
filter: contrast(15) hue-rotate(360deg);
}
}
@keyframes circleRotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes moveUp {
0% {
bottom: 0;
}
100% {
bottom: calc(100% - 265px);
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.