Radio Asteral Frontend Design

Radio Asteral Frontend Design


This is a submission for Frontend Challenge v24.07.24, CSS Art: Recreation.



Inspiration



HTML Code

`
<!DOCTYPE html>

Wave Animation

RadioAsteral

    <div class="circles">
        <div class="circles_circle circle1"></div>
        <div class="circles_circle circle2"></div>
        <div class="circles_circle circle3"></div>
        <div class="gradint-color">
            <div class="innercolor1"></div>
            <div class="innercolor2"></div>
            <div class="innercolor3"></div>
        </div>
        <div class="circleshadow">
            <div class="gradint-color">
                <div class="innercolor1"></div>
                <div class="innercolor2"></div>
                <div class="innercolor3"></div>
            </div>
        </div>
    </div>
</main>
<script src="https://dev.to/harish_05/script.js"></script>

`



CSS Code

`
.menu {
display: flex;
position: fixed;
left: 0;
top: 0;
width: 100vw;
z-index: 10;
background: black;
height: 100px;
opacity: 1;
align-items: center;
}

.logoname h2 {
font-family: Arial, Helvetica, sans-serif;
color: rgb(255, 255, 255);
opacity: 1;
z-index: 11;
font-size: 2.5rem;
margin-left: 50px;
margin-top: 30px;
align-items: center;
font-weight: 800;
font-style: normal;
letter-spacing: 0.2em;
}

.circles {
border: none;
background-color: #000;
min-height: 100vh;
left: 50%;
overflow: hidden;
position: absolute;
top: 50%;
transform: translateX(-50%) translateY(-50%);
width: 100vw;
z-index: 1;
}

.circles_circle {
border: 2px solid #ffffff;
border-radius: 50%;
height: 100vw;
left: 50%;
opacity: 1;
position: absolute;
top: 50%;
transform: translateX(-50%) translateY(-50%) scale(0);
width: 100vw;
will-change: transform;
animation-name: wave;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
transition: wave 1.5s;
}

.circle1 {
animation-delay: 0s;

}

.circle2 {
animation-delay: 0.6s;

}

.circle3 {
animation-delay: 1.4s;

}

@keyframes wave {
0% {
opacity: 0.150;
transform: translateX(-50%) translateY(-50%) scale(0.2500);
}

50% {
    opacity: 0.6800;
    transform: translateX(-50%) translateY(-50%) scale(1.2000);
}

100% {
    opacity: 0.9998;
    transform: translateX(-50%) translateY(-50%) scale(1.2500);
}

}

.gradint-color {
clip-path: circle(50%);
height: 380px;
width: 380px;
left: 50%;
top: 50%;
position: absolute;
transform: translateX(-50%) translateY(-50%);
border-radius: 50%;
background: radial-gradient(#ed5701 73%, white);
animation: circleColor 1.0s normal forwards ease-in-out;
transition: circleColor 1.5s;
animation-delay: 0.8s;
opacity: 0;
}

@keyframes circleColor {
0% {
opacity: 1;
transform: translateX(-50%) translateY(-50%) scale(0);
}

100% {
    opacity: 1;
    transform: translateX(-50%) translateY(-50%) scale(1);
}

}

.circleshadow {

display: block;
height: 430px;
width: 430px;
left: 50%;
border-radius: 300px;
top: 50%;
position: absolute;
transform: translateX(-50%) translateY(-50%);
filter: blur(25px);
z-index: -2;

}

.innercolor1 {

background: radial-gradient(#cad23d 70%, white);
height: 0px;
width: 0px;
left: calc(50% - 100px);
top: 50%;
position: absolute;
transform: translateX(-50%) translateY(-50%);
border-radius: 50%;
filter: blur(50px);
animation-name: randomWiggle;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-timing-function: ease-out;

}

.innercolor2 {

background: radial-gradient(#c6e9e0 70%, white);
height: 0px;
width: 0px;
left: calc(50% - 100px);
top: 50%;
position: absolute;
transform: translateX(-50%) translateY(-50%);
border-radius: 50%;
filter: blur(50px);
animation-name: randomWiggle;
animation-duration: 7s;
animation-iteration-count: infinite;
animation-timing-function: ease-out;

}

.innercolor3 {

background: radial-gradient(#d4add4 70%, white);
height: 0px;
width: 0px;
left: calc(50% - 100px);
top: 50%;
position: absolute;
transform: translateX(-50%) translateY(-50%);
border-radius: 50%;
filter: blur(50px);
animation-name: randomWiggle;
animation-duration: 9s;
animation-iteration-count: infinite;
animation-timing-function: ease-out;

}

@keyframes randomWiggle {
0% {
left: calc(50% – 250px);
width: 0px;
height: 0px;
}

50% {
    width: 550px;
    height: 550px;
}

100% {
    left: calc(50% + 250px);
    width: 0px;
    height: 0px;
}

}
`



OUTPUT



Source link
lol

By stp2y

Leave a Reply

Your email address will not be published. Required fields are marked *

No widgets found. Go to Widget page and add the widget in Offcanvas Sidebar Widget Area.