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 name="viewport" content="width=device-width, initial-scale=1.0">
<title>Zephyr the Husky</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="husky">
<div class="mane">
<div class="coat"></div>
</div>
<div class="body">
<div class="head">
<div class="ear"></div>
<div class="ear"></div>
<div class="face">
<div class="eye"></div>
<div class="eye"></div>
<div class="nose"></div>
<div class="mouth">
<div class="lips"></div>
<div class="tongue"></div>
</div>
</div>
</div>
<div class="torso"></div>
</div>
<div class="legs">
<div class="front-legs">
<div class="leg"></div>
<div class="leg"></div>
</div>
<div class="behind-leg"></div>
</div>
<div class="tail">
<div class="tail">
<div class="tail">
<div class="tail">
<div class="tail">
<div class="tail">
<div class="tail"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<svg xmlns="https://www.w3.org/2000/svg" version="1.0" style="position: absolute;">
<defs>
<filter id="squiggly-0">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="0" />
<feDisplacementMap id="displacement" in="SourceGraphic" in2="noise" scale="2" />
</filter>
<filter id="squiggly-1">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="1" />
<feDisplacementMap in="SourceGraphic" in2="noise" scale="3" />
</filter>
<filter id="squiggly-2">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="2" />
<feDisplacementMap in="SourceGraphic" in2="noise" scale="2" />
</filter>
<filter id="squiggly-3">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="3" />
<feDisplacementMap in="SourceGraphic" in2="noise" scale="3" />
</filter>
<filter id="squiggly-4">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="4" />
<feDisplacementMap in="SourceGraphic" in2="noise" scale="1" />
</filter>
</defs>
</svg>
</body>
</html>
Below is the css code for this video.
style.css
*, *::after, *::before {
position: relative;
margin: 0;
padding: 0;
box-sizing: border-box;
animation-timing-function: cubic-bezier(0.75, 0.05, 0.25, 1) !important;
}
body {
display: flex;
height: 100vh;
width: 100%;
background-color: #f7f7f7;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
flex-direction: column;
justify-content: center;
align-items: center;
}
div::before, div::after {
content: "";
display: block;
position: absolute;
}
.husky {
height: 60vmin;
width: 84vmin;
animation: squiggly 0.3s infinite;
}
@keyframes squiggly {
0% {
filter: url("#squiggly-0");
}
25% {
filter: url("#squiggly-1");
}
50% {
filter: url("#squiggly-2");
}
75% {
filter: url("#squiggly-3");
}
100% {
filter: url("#squiggly-4");
}
}
.husky::before {
top: 100%;
left: 5%;
height: 0.5vmin;
width: 90%;
background: #515257;
border-radius: 0.5vmin;
z-index: 2;
}
.husky::after {
top: calc(100% + 0.5vmin);
height: 10%;
width: 100%;
background: #f7f7f7;
z-index: 3;
}
.mane {
position: absolute;
top: 44%;
left: 37%;
height: 30%;
width: 31.5%;
z-index: 2;
animation: maneAnim 8s none infinite;
}
@keyframes maneAnim {
0%, 13.3%, 20% {
transform: translate(0);
}
6.67% {
transform: translateY(5%);
}
26.67% {
transform: translateY(3%);
}
33.3% {
transform: translateY(0);
}
}
.mane::before {
height: 40%;
width: 100%;
background: #cbc2b5;
border-top-left-radius: 10% 50%;
border-top-right-radius: 20% 100%;
border-bottom-left-radius: 10% 50%;
}
.mane::after {
top: 25%;
right: 23%;
height: 76%;
width: 30%;
background: #cbc2b5;
transform: rotate(47deg);
transform-origin: bottom right;
border-top-right-radius: 100% 80%;
}
.coat {
position: absolute;
left: 10%;
top: 21%;
height: 50%;
width: 50%;
background: #cbc2b5;
transform: rotate(25deg) skewX(-30deg);
transform-origin: bottom right;
}
.body {
position: absolute;
left: 25%;
height: 100%;
width: 45%;
animation: bodyAnim 8s none infinite;
}
@keyframes bodyAnim {
0%, 13.3%, 20% {
transform: translate(0);
}
6.67% {
transform: translateY(3%);
}
26.67% {
transform: translateY(2%);
}
33.3% {
transform: translateY(0);
}
}
.head {
position: absolute;
top: 5%;
left: 34%;
height: 45%;
width: 58%;
transform-origin: bottom center;
animation: headAnim 8s none infinite;
}
@keyframes headAnim {
0%, 6.67%, 73.3%, 80% {
transform: rotate(0);
}
20%, 46.67% {
transform: rotate(-14deg);
}
40%, 60% {
transform: rotate(-7deg);
}
}
.head::before {
height: 100%;
width: 100%;
background: #515257;
border-top-left-radius: 50% 40%;
border-top-right-radius: 50% 40%;
border-bottom-right-radius: 10% 60%;
}
.ear {
position: absolute;
top: 3%;
left: -10%;
height: 30%;
width: 48%;
background: #515257;
transform-origin: 80% center;
border-top-left-radius: 10%;
border-bottom-left-radius: 100% 90%;
animation: leftEarAnim 8s both infinite;
overflow: hidden;
}
@keyframes leftEarAnim {
0%, 6.67%, 93.3%, 100% {
transform: rotateZ(6deg);
}
13.3%, 26.67%, 60%, 80% {
transform: rotate(15deg);
}
33.3%, 40% {
transform: rotate(30deg);
}
46.67%, 53.3% {
transform: rotate(0deg);
}
}
.ear::before {
top: 20%;
left: 15%;
height: 55%;
width: 70%;
background: #d1908e;
transform: skewX(30deg) rotate(-5deg);
transform-origin: top left;
border: 2px solid #515257;
}
.ear::after {
left: 32%;
height: 100%;
width: 70%;
background: #515257;
transform: rotate(-5deg);
transform-origin: top left;
border-top-left-radius: 100%;
}
.ear+.ear {
top: 5%;
left: 15%;
transform-origin: right center;
z-index: -1;
animation: rightEarAnim 8s both infinite;
}
@keyframes rightEarAnim {
0%, 6.67%, 93.3%, 100% {
transform: rotateZ(-16deg) rotateY(180deg);
}
13.3%, 26.67%, 36.67%, 38%, 40%, 41.3%, 60%, 61.3%, 62.67%, 64%, 80% {
transform: rotateZ(-19deg) rotateY(180deg);
}
33.3%, 37.3%, 41.67%, 60.67%, 63.3% {
transform: rotateZ(-30deg) rotateY(180deg);
}
46.67%, 53.3% {
transform: rotateZ(-9deg) rotateY(180deg);
}
}
.ear+.ear::before {
border-color: #515257;
}
.ear+.ear::after {
background: #515257;
}
.face {
position: absolute;
top: 15%;
left: 2%;
height: 62%;
width: 98%;
animation: faceAnim 8s none infinite;
}
@keyframes faceAnim {
0%, 6.67% {
transform: translate(0);
}
13.3% {
transform: translateX(15%);
}
20%, 26.67% {
transform: translateX(15%) translateY(0);
}
33.3%, 40% {
transform: translateX(0) translateY(-15%);
}
46.67% {
transform: translateX(0) translateY(0);
}
}
.face::before {
left: 3%;
bottom: 5%;
height: 70%;
width: 94%;
background: #cbc2b5;
border-top-left-radius: 40% 50%;
border-top-right-radius: 40% 50%;
border-bottom-left-radius: 30% 50%;
border-bottom-right-radius: 30% 40%;
z-index: 1;
}
.eye {
position: absolute;
right: 45%;
height: 40%;
width: 30%;
background: #cbc2b5;
border-top-left-radius: 55% 50%;
border-top-right-radius: 45% 50%;
z-index: 2;
}
.eye::before {
top: 45%;
left: 45%;
height: 15%;
width: 15%;
background: #414141;
border-radius: 50%;
transform-origin: center center;
animation: eyeAnim 8s none infinite;
}
@keyframes eyeAnim {
2.67%, 4% {
transform: scaleY(1);
}
3.3% {
transform: scaleY(0.3);
}
6.67% {
transform: translateX(0);
}
9.3%, 10.67% {
transform: scaleY(1) translateX(75%);
}
10% {
transform: scaleY(0.3) translateX(75%);
}
13.3% {
transform: translateX(150%);
}
22%, 23.3%, 25.3%, 26.67% {
transform: scaleY(1) translateX(150%);
}
22.67%, 26% {
transform: scaleY(0.3) translateX(150%);
}
33.3% {
transform: translateX(0) translateY(-170%);
}
36%, 37.3%, 38%, 39.3% {
transform: scaleY(1) translateY(-170%);
}
36.67%, 38.67% {
transform: scaleY(0.3) translateY(-170%);
}
53.3% {
transform: translateY(0);
}
65.3%, 66.67%, 70%, 71.3% {
transform: scaleY(1) translateY(0);
}
66%, 70.67% {
transform: scaleY(0.3) translateY(0);
}
}
.eye+.eye {
left: 48%;
right: initial;
z-index: 1;
}
.nose {
position: absolute;
top: 29%;
left: 42%;
height: 20%;
width: 20%;
z-index: 2;
animation: noseAnim 8s none infinite;
}
@keyframes noseAnim {
0%, 6.67% {
transform: translate(0);
}
13.3%, 26.67% {
transform: translateX(100%);
}
33.3% {
transform: translateX(0) translateY(-15%);
}
}
.nose::after {
height: 100%;
width: 100%;
background: #515257;
border-top-left-radius: 20% 20%;
border-top-right-radius: 30% 20%;
border-bottom-left-radius: 50% 80%;
border-bottom-right-radius: 55% 80%;
}
.nose::before {
top: 50%;
left: -50%;
height: 100%;
width: 200%;
background: #cbc2b5;
border-radius: 50%;
z-index: -1;
}
.mouth {
position: absolute;
left: 28%;
bottom: -5%;
height: 55%;
width: 48%;
z-index: 1;
animation: mouthAnim 8s none infinite;
overflow: hidden;
}
@keyframes mouthAnim {
0%, 6.67% {
transform: translateX(0);
}
13.3%, 20%, 26.67% {
transform: translateX(35%);
}
33.3% {
transform: translateX(0) translateY(-5%);
}
}
.mouth::before, .mouth::after {
top: -50%;
left: 0;
height: 100%;
width: 28%;
background: #cbc2b5;
transform-origin: right top;
z-index: 3;
animation: mouthCoverLeftAnim 8s none infinite;
}
@keyframes mouthCoverLeftAnim {
40%, 86.67% {
transform: rotate(0);
}
60%, 73.3% {
transform: rotate(90deg);
}
}
.mouth::after {
left: initial;
right: 0;
transform-origin: left top;
animation: mouthCoverRightAnim 8s none infinite;
}
@keyframes mouthCoverRightAnim {
40%, 86.67% {
transform: rotate(0);
}
60%, 73.3% {
transform: rotate(-90deg);
}
}
.lips {
height: 35%;
width: 100%;
z-index: 2;
}
.lips::before, .lips::after {
height: 100%;
width: calc(50% + 1.5px);
background: #cbc2b5;
border: 3px solid #515257;
border-top-right-radius: 50%;
border-bottom-left-radius: 65% 100%;
border-bottom-right-radius: 35% 50%;
border-right-color: transparent;
border-top-color: transparent;
}
.lips::after {
left: initial;
right: 0;
transform: rotateY(180deg);
}
.tongue {
position: absolute;
left: 25%;
bottom: 100%;
height: 100%;
width: 44%;
background: #d1908e;
z-index: 1;
border-bottom-left-radius: 50% 20%;
border-bottom-right-radius: 50% 20%;
animation: tongueAnim 8s none infinite;
}
@keyframes tongueAnim {
46.67%, 80% {
transform: translateY(0);
}
53.3%, 73.3% {
transform: translateY(100%) rotate(10deg);
}
}
.torso {
position: absolute;
bottom: 0;
height: 55%;
width: 100%;
}
.torso::before, .torso::after {
height: 100%;
background: #515257;
}
.torso::before {
width: 50%;
transform: translateX(-20%) skewX(-30deg);
transform-origin: left bottom;
border-radius: 0 30% 0 60%;
}
.torso::after {
top: 0;
right: 0;
width: 60%;
border-radius: 10% 40% 60% 0;
}
.legs {
position: absolute;
left: 23%;
bottom: 0;
height: 30%;
width: 42%;
background: #515257;
border-top-left-radius: 20% 37%;
border-top-right-radius: 50%;
border-bottom-left-radius: 10% 37%;
z-index: 1;
}
.front-legs {
position: absolute;
bottom: 0;
right: -12%;
height: 117%;
width: 55%;
}
.front-legs::before {
left: 47%;
bottom: 0;
height: 6%;
width: 4%;
background: transparent;
box-shadow: -1.3vmin 0 0 #696864, -2.8vmin 0 0 #696864, 1.3vmin 0 0 #515257, 2.8vmin 0 0 #515257;
z-index: 2;
}
.front-legs>.leg {
position: absolute;
bottom: 0;
right: 50%;
height: 100%;
width: 51%;
overflow: hidden;
}
.front-legs>.leg::before {
height: 100%;
width: 100%;
background: #b09f85;
transform: skewY(-30deg) skewX(10deg);
transform-origin: top right;
}
.front-legs>.leg+.leg {
right: 0;
transform: rotateY(180deg);
}
.front-legs>.leg+.leg::before {
background: #696864;
}
.behind-leg {
position: absolute;
bottom: 0;
right: 45%;
height: 25%;
width: 35%;
background: #696864;
border-top-left-radius: 35% 100%;
border-top-right-radius: 40% 100%;
}
.behind-leg::before {
left: 70%;
bottom: 0;
height: 20%;
width: 6%;
background: transparent;
box-shadow: -0.8vmin 0 0 #515257, 0.8vmin 0 0 #515257;
}
.tail {
position: absolute;
bottom: 0;
right: 72%;
height: 6%;
width: 15%;
background: #414141;
z-index: 0;
}
.tail>.tail {
right: 26%;
height: 100%;
width: 4vmin;
transform: rotate(0);
transform-origin: center right;
border-top-left-radius: 50% 50%;
border-bottom-left-radius: 50% 50%;
animation: tailAnim 8s none infinite;
}
@keyframes tailAnim {
6.67%, 13.3%, 20%, 48.3%, 50.83%, 52.5%, 54.17%, 55.83%, 57.5%, 59.17%, 60.83%, 62.5%, 64.17%, 65.83% {
transform: rotate(0);
}
10%, 26.67%, 46.67% {
transform: rotate(30deg);
}
50%, 51.67%, 53.3%, 55%, 56.67%, 58.3%, 60%, 61.67%, 63.3%, 65%, 66.67%, 68.3%, 70%, 71.67% {
transform: rotate(28deg);
}
}
.husky>.tail {
border-top-left-radius: 10% 50%;
border-bottom-left-radius: 10% 50%;
}
.husky>.tail>.tail {
right: 88%;
}
Thanks for visiting