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>Minimalist Loading Page</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1 text="Loading">Loading</h1>
<div class="container">
<span>
<span></span>
<span></span>
<span></span>
<span></span>
</span>
<div class="base">
<span></span>
<div class="face"></div>
</div>
</div>
</body>
</html>
Below is the css code for this video.
style.css
* {
margin: 0;
padding: 0;
}
body {
height: 100vh;
width: 100%;
background: #0abab5;
overflow: hidden;
}
h1 {
position: absolute;
top: 67%;
transform: translateY(-67%);
width: 100%;
text-align: center;
font-size: 24px;
font-family: serif;
font-weight: 900;
text-transform: uppercase;
}
h1::after, h1::before {
content: attr(text);
position: absolute;
top: 0;
display: block;
color: #00000040;
z-index: -1;
}
h1::after {
animation: titleLeftAnim 1s linear infinite;
animation-delay: 0.5s;
}
@keyframes titleLeftAnim {
0% {
left: 49.5%;
transform: translateX(-49.5%) scale(1);
}
100% {
left: 30%;
transform: translateX(-30%) scale(0.5);
opacity: 0;
}
}
h1::before {
animation: titleRightAnim 1s linear infinite;
}
@keyframes titleRightAnim {
0% {
left: 50.5%;
transform: translateX(-50.5%) scale(1);
}
100% {
left: 70%;
transform: translateX(-70%) scale(0.5);
opacity: 0;
}
}
.container {
position: absolute;
top: 33%;
left: 50%;
transform: translateY(-33%);
margin-left: -50px;
animation: flyingAnim 0.5s linear infinite;
}
@keyframes flyingAnim {
0%, 90% {
transform: translate(2px, 1px) rotate(0deg);
}
10% {
transform: translate(-1px, -3px) rotate(-1deg);
}
20% {
transform: translate(-2px, 0) rotate(1deg);
}
30% {
transform: translate(1px, 2px) rotate(0deg);
}
40% {
transform: translate(1px, -1px) rotate(1deg);
}
50% {
transform: translate(-1px, 3px) rotate(-1deg);
}
60% {
transform: translate(-1px, 1px) rotate(0deg);
}
70% {
transform: translate(3px, 1px) rotate(-1deg);
}
80% {
transform: translate(-2px, 1px) rotate(1deg);
}
100% {
transform: translate(1px, -2px) rotate(-1deg);
}
}
.container>span {
position: absolute;
top: -19px;
left: 60px;
height: 5px;
width: 35px;
background: #000000;
border-radius: 2px 10px 1px 0;
}
.container>span>span:nth-child(1), .container>span>span:nth-child(2), .container>span>span:nth-child(3), .container>span>span:nth-child(4) {
position: absolute;
height: 1px;
width: 30px;
background: #000000;
animation: lineAnim1 0.25s linear infinite;
}
@keyframes lineAnim1 {
0% {
left: 0;
}
100% {
left: -75px;
opacity: 0;
}
}
.container>span>span:nth-child(2) {
top: 3px;
animation: lineAnim2 0.5s linear infinite;
}
@keyframes lineAnim2 {
0% {
left: 0;
}
100% {
left: -100px;
opacity: 0;
}
}
.container>span>span:nth-child(3) {
top: 1px;
animation: lineAnim3 0.5s linear infinite;
animation-delay: -1s;
}
@keyframes lineAnim3 {
0% {
left: 0;
}
100% {
left: -50px;
opacity: 0;
}
}
.container>span>span:nth-child(4) {
top: 4px;
animation: lineAnim4 1s linear infinite;
animation-delay: -1s;
}
@keyframes lineAnim4 {
0% {
left: 0;
}
100% {
left: -150px;
opacity: 0;
}
}
.base span {
position: absolute;
height: 0;
width: 0;
border-top: 6px solid transparent;
border-right: 100px solid #000000;
border-bottom: 6px solid transparent;
}
.base span::before, .base span::after {
content: "";
position: absolute;
}
.base span::before {
top: -16px;
right: -110px;
height: 22px;
width: 22px;
background: #000000;
border-radius: 50%;
}
.base span::after {
top: -16px;
right: -98px;
height: 0;
width: 0;
background: #000000;
border-top: 0 solid transparent;
border-right: 55px solid #000000;
border-bottom: 16px solid transparent;
}
.face {
position: absolute;
top: -15px;
right: -125px;
transform: rotate(-40deg);
height: 12px;
width: 20px;
background: #000000;
border-radius: 20px 20px 0 0;
}
.face::after {
content: "";
position: absolute;
top: 7px;
right: 4px;
transform: rotate(40deg);
transform-origin: 50% 50%;
height: 12px;
width: 12px;
background: #000000;
border-radius: 0 0 0 2px;
}
Thanks for visiting