The content on this website, including videos and code examples, is for educational purposes only. All demonstrations and designs are fictional and created to illustrate coding techniques. Any resemblance to existing websites or brands is purely coincidental.
The creators and administrators of this website do not claim ownership or affiliation with any existing websites or companies. Users are encouraged to use the information responsibly for learning purposes. Liability for any misuse of the content provided is not accepted.
Below is the html code for this video.
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Happy Holi</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="text-container">
<h1 class="title-text">
Happy Holi
</h1>
<h3 class="wish-text">
Let's throw out the colours in the air, and renew our love with a bit of romantic colour.
</h3>
</div>
<div class="bg-wrap">
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice">
<defs>
<radialGradient id="Gradient1" cx="50%" cy="50%" fx="0.441602%" fy="50%" r=".5">
<animate attributeName="fx" dur="34s" values="0%;3%;0%" repeatCount="indefinite"></animate>
<stop offset="0%" stop-color="#ffff0080"></stop>
<stop offset="100%" stop-color="#ffff0000"></stop>
</radialGradient>
<radialGradient id="Gradient2" cx="50%" cy="50%" fx="2.68147%" fy="50%" r=".5">
<animate attributeName="fx" dur="23.5s" values="0%;3%;0%" repeatCount="indefinite"></animate>
<stop offset="0%" stop-color="#ff000080"></stop>
<stop offset="100%" stop-color="#ff000000"></stop>
</radialGradient>
<radialGradient id="Gradient3" cx="50%" cy="50%" fx="0.836536%" fy="50%" r=".5">
<animate attributeName="fx" dur="21.5s" values="0%;3%;0%" repeatCount="indefinite"></animate>
<stop offset="0%" stop-color="#ffa50080"></stop>
<stop offset="100%" stop-color="#ffa50000"></stop>
</radialGradient>
<radialGradient id="Gradient4" cx="50%" cy="50%" fx="4.56417%" fy="50%" r=".5">
<animate attributeName="fx" dur="23s" values="0%;5%;0%" repeatCount="indefinite"></animate>
<stop offset="0%" stop-color="#00ff0080"></stop>
<stop offset="100%" stop-color="#00ff0000"></stop>
</radialGradient>
<radialGradient id="Gradient5" cx="50%" cy="50%" fx="2.65405%" fy="50%" r=".5">
<animate attributeName="fx" dur="24.5s" values="0%;5%;0%" repeatCount="indefinite"></animate>
<stop offset="0%" stop-color="#ffc0cb80"></stop>
<stop offset="100%" stop-color="#ffc0cb00"></stop>
</radialGradient>
<radialGradient id="Gradient6" cx="50%" cy="50%" fx="0.981338%" fy="50%" r=".5">
<animate attributeName="fx" dur="25.5s" values="0%;5%;0%" repeatCount="indefinite"></animate>
<stop offset="0%" stop-color="#80008080"></stop>
<stop offset="100%" stop-color="#80008000"></stop>
</radialGradient>
</defs>
<rect x="13.744%" y="1.18473%" width="100%" height="100%" fill="url(#Gradient1)"
transform="rotate(334.41 50 50)">
<animate attributeName="x" dur="20s" values="25%;0%;25%" repeatCount="indefinite"></animate>
<animate attributeName="y" dur="21s" values="0%;25%;0%" repeatCount="indefinite"></animate>
<animateTransform attributeName="transform" type="rotate" from="0 50 50" to="360 50 50" dur="7s"
repeatCount="indefinite"></animateTransform>
</rect>
<rect x="-2.17916%" y="35.4267%" width="100%" height="100%" fill="url(#Gradient2)"
transform="rotate(255.072 50 50)">
<animate attributeName="x" dur="23s" values="-25%;0%;-25%" repeatCount="indefinite"></animate>
<animate attributeName="y" dur="24s" values="0%;50%;0%" repeatCount="indefinite"></animate>
<animateTransform attributeName="transform" type="rotate" from="0 50 50" to="360 50 50" dur="12s"
repeatCount="indefinite"></animateTransform>
</rect>
<rect x="9.00483%" y="14.5733%" width="100%" height="100%" fill="url(#Gradient3)"
transform="rotate(139.903 50 50)">
<animate attributeName="x" dur="25s" values="0%;25%;0%" repeatCount="indefinite"></animate>
<animate attributeName="y" dur="12s" values="0%;25%;0%" repeatCount="indefinite"></animate>
<animateTransform attributeName="transform" type="rotate" from="360 50 50" to="0 50 50" dur="9s"
repeatCount="indefinite"></animateTransform>
</rect>
<rect x="0" y="0" width="100%" height="100%" fill="url(#Gradient4)">
<animate attributeName="x" dur="20s" values="25%;0%;25%" repeatCount="indefinite" />
<animate attributeName="y" dur="21s" values="0%;25%;0%" repeatCount="indefinite" />
<animateTransform attributeName="transform" type="rotate" from="0 50 50" to="360 50 50" dur="17s"
repeatCount="indefinite" />
</rect>
<rect x="0" y="0" width="100%" height="100%" fill="url(#Gradient5)">
<animate attributeName="x" dur="23s" values="0%;-25%;0%" repeatCount="indefinite" />
<animate attributeName="y" dur="24s" values="25%;-25%;25%" repeatCount="indefinite" />
<animateTransform attributeName="transform" type="rotate" from="0 50 50" to="360 50 50" dur="18s"
repeatCount="indefinite" />
</rect>
<rect x="0" y="0" width="100%" height="100%" fill="url(#Gradient6)">
<animate attributeName="x" dur="25s" values="-25%;0%;-25%" repeatCount="indefinite" />
<animate attributeName="y" dur="26s" values="0%;-25%;0%" repeatCount="indefinite" />
<animateTransform attributeName="transform" type="rotate" from="360 50 50" to="0 50 50" dur="19s"
repeatCount="indefinite" />
</rect>
</svg>
</div>
</body>
</html>
Below is the css code for this video.
style.css
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
height: 100vh;
background: #777;
}
.text-container {
position: absolute;
height: 100%;
width: 100%;
}
.title-text {
font-family: cursive;
text-align: center;
color: seashell;
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.25);
letter-spacing: 24px;
font-size: 12em;
animation: textShadowAnim 2s ease-in infinite, moveTextAnim 2s ease-in infinite;
}
.wish-text {
font-family: monospace;
text-align: center;
background: linear-gradient(90deg, #800080, #ffa500, #ffc0cb, #ff0000, #00ff00, #ffff00);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25);
animation: moveTextAnim 2s 1s ease-in infinite;
font-size: 3em;
position: absolute;
bottom: 5%;
}
.bg-wrap {
width: 100%;
height: 100%;
}
svg {
width: 100%;
height: 100%;
}
@keyframes textShadowAnim {
0%, 100% {
text-shadow: none;
}
10%, 90% {
text-shadow: 3px 3px 0 #ff0000;
}
20%, 80% {
text-shadow: 3px 3px 0 #ff0000, 6px 6px 0 #ffa500;
}
30%, 70% {
text-shadow: 3px 3px 0 #ff0000, 6px 6px 0 #ffa500, 9px 9px 0 #ffc0cb;
}
40%, 60% {
text-shadow: 3px 3px 0 #ff0000, 6px 6px 0 #ffa500, 9px 9px 0 #ffc0cb, 12px 12px 0 #ffff00;
}
}
@keyframes moveTextAnim {
0%, 100% {
transform: translate(0px, 0px);
}
40%, 60% {
transform: translate(-25px, -25px);
}
}
Thanks for visiting