gradient bg animation
by MD Hasan Patwary
HTML
<div class="time-travel-container">
<div class="time-period" id="past">Past</div>
<div class="time-period" id="present">Present</div>
<div class="time-period" id="future">Future</div>
</div>
<button id="time-travel-button">Time Travel</button>
CSS
body {
margin: 0;
padding: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background: linear-gradient(45deg, #ff6b6b, #f06595, #cc5de8, #845ef7, #5c7cfa, #339af0, #22b8cf, #20c997, #51cf66, #94d82d, #fcc419, #ff922b, #ff6b6b);
background-size: 600% 600%;
animation: gradientAnimation 10s ease infinite;
}
@keyframes gradientAnimation {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.time-travel-container {
display: flex;
justify-content: space-around;
width: 80%;
height: 200px;
perspective: 1000px;
}
.time-period {
width: 100px;
height: 100px;
display: flex;
justify-content: center;
align-items: center;
color: white;
font-size: 1.5rem;
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
transition: transform 2s;
}
#past:hover {
transform: rotateY(360deg);
}
#present:hover {
transform: scale(1.5);
}
#future:hover {
transform: translateY(-100px);
}
#future {
animation: futureAnimation 5s infinite;
}
@keyframes futureAnimation {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-50px) scale(1.2);
}
100% {
transform: translateY(0);
}
}
#time-travel-button {
padding: 10px 20px;
font-size: 1rem;
margin-top: 20px;
cursor: pointer;
}
.time-travel-active #past {
transform: rotateY(360deg);
}
.time-travel-active #present {
transform: scale(1.5);
}
.time-travel-active #future {
transform: translateY(-100px);
}
JavaScript
document.getElementById('time-travel-button').addEventListener('click', function() {
document.querySelector('.time-travel-container').classList.toggle('time-travel-active');
});