Let’s create a Squid Game Loader using HTML and CSS. This project will feature a loading animation inspired by the popular “Squid Game” series, using shapes and colors that resemble the show’s iconic symbols.
We’ll use HTML to structure the loader and CSS to style and animate it, creating a dynamic and recognizable loading effect.
Let’s get started on building the Squid Game Loader. Whether you’re a beginner or an experienced developer, this project offers a fun way to practice your web design skills and create a visually engaging loading animation. Let’s bring some Squid Game vibes to our web projects!
HTML :
This HTML code creates a web page with three loading animations inspired by the “Squid Game” theme. The page includes external CSS styles from a reset stylesheet and a custom style.css
file. Inside the body, three div
elements with the class loader
contain svg
elements that draw different shapes: a circle, a triangle, and a square. These SVG shapes are likely animated using CSS to create a loading effect.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"> <link rel="stylesheet" href="./style.css"> <title>Squid game loader</title> </head> <body> <div class="loader"> <svg viewBox="0 0 80 80"> <circle id="test" cx="40" cy="40" r="32"></circle> </svg> </div> <div class="loader triangle"> <svg viewBox="0 0 86 80"> <polygon points="43 8 79 72 7 72"></polygon> </svg> </div> <div class="loader"> <svg viewBox="0 0 80 80"> <rect x="8" y="8" width="64" height="64"></rect> </svg> </div> </body> </html>
CSS :
This CSS code styles the “Squid Game” loading animations. It defines a .loader
class with custom properties for path color, dot color, and animation duration. Each loader is styled with specific dimensions and positioned elements, including an animated dot (:before
) that moves along the shape’s path.
The shapes (circle, triangle, and square) are drawn with SVG and animated using stroke-dasharray
and stroke-dashoffset
to create the effect of a moving path. The animations are timed with keyframes, making the shapes appear as if they are being drawn repeatedly. The background is set to a light blue, and the loaders are centered on the screen.
.loader { --path: #2F3545; --dot: #5928ee; --duration: 3s; width: 44px; height: 44px; position: relative; } .loader:before { content: ""; width: 6px; height: 6px; border-radius: 50%; position: absolute; display: block; background: var(--dot); top: 37px; left: 19px; transform: translate(-18px, -18px); -webkit-animation: dotRect var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; animation: dotRect var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; } .loader svg { display: block; width: 100%; height: 100%; } .loader svg rect, .loader svg polygon, .loader svg circle { fill: none; stroke: var(--path); stroke-width: 10px; stroke-linejoin: round; stroke-linecap: round; } .loader svg polygon { stroke-dasharray: 145 76 145 76; stroke-dashoffset: 0; -webkit-animation: pathTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; animation: pathTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; } .loader svg rect { stroke-dasharray: 192 64 192 64; stroke-dashoffset: 0; -webkit-animation: pathRect 3s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; animation: pathRect 3s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; } .loader svg circle { stroke-dasharray: 150 50 150 50; stroke-dashoffset: 75; -webkit-animation: pathCircle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; animation: pathCircle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; } .loader.triangle { width: 48px; } .loader.triangle:before { left: 21px; transform: translate(-10px, -18px); -webkit-animation: dotTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; animation: dotTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; } @-webkit-keyframes pathTriangle { 33% { stroke-dashoffset: 74; } 66% { stroke-dashoffset: 147; } 100% { stroke-dashoffset: 221; } } @keyframes pathTriangle { 33% { stroke-dashoffset: 74; } 66% { stroke-dashoffset: 147; } 100% { stroke-dashoffset: 221; } } @-webkit-keyframes dotTriangle { 33% { transform: translate(0, 0); } 66% { transform: translate(10px, -18px); } 100% { transform: translate(-10px, -18px); } } @keyframes dotTriangle { 33% { transform: translate(0, 0); } 66% { transform: translate(10px, -18px); } 100% { transform: translate(-10px, -18px); } } @-webkit-keyframes pathRect { 25% { stroke-dashoffset: 64; } 50% { stroke-dashoffset: 128; } 75% { stroke-dashoffset: 192; } 100% { stroke-dashoffset: 256; } } @keyframes pathRect { 25% { stroke-dashoffset: 64; } 50% { stroke-dashoffset: 128; } 75% { stroke-dashoffset: 192; } 100% { stroke-dashoffset: 256; } } @-webkit-keyframes dotRect { 25% { transform: translate(0, 0); } 50% { transform: translate(18px, -18px); } 75% { transform: translate(0, -36px); } 100% { transform: translate(-18px, -18px); } } @keyframes dotRect { 25% { transform: translate(0, 0); } 50% { transform: translate(18px, -18px); } 75% { transform: translate(0, -36px); } 100% { transform: translate(-18px, -18px); } } @-webkit-keyframes pathCircle { 25% { stroke-dashoffset: 125; } 50% { stroke-dashoffset: 175; } 75% { stroke-dashoffset: 225; } 100% { stroke-dashoffset: 275; } } @keyframes pathCircle { 25% { stroke-dashoffset: 125; } 50% { stroke-dashoffset: 175; } 75% { stroke-dashoffset: 225; } 100% { stroke-dashoffset: 275; } } .loader { display: inline-block; margin: 0 16px; } html { -webkit-font-smoothing: antialiased; } * { box-sizing: border-box; } *:before, *:after { box-sizing: border-box; } body { min-height: 100vh; background: #F5F9FF; display: flex; justify-content: center; align-items: center; }
In conclusion, creating a Squid Game Loader using HTML and CSS has been an exciting and creative project. By combining HTML for structure and CSS for styling and animations, we’ve crafted a recognizable and engaging loading animation inspired by the popular “Squid Game” series.
If your project has problems, don’t worry. Just click to download the source code and face your coding challenges with excitement. Have fun coding!