Bring holiday cheer to your browser by crafting a 3D Santa Claus using just HTML and CSS! In this festive blog, we’ll guide you through designing a jolly Santa with his iconic red suit, hat, beard, and even a cheerful smile. By leveraging CSS 3D transforms, gradients, and clever layering techniques, we’ll create a character full of depth and personality—no JavaScript or images required. Perfect for holiday-themed web designs or sharpening your front-end skills, this project will add a sprinkle of magic to your CSS journey. Ready to bring Santa to life? Let’s sleigh this challenge! 🎅✨
I would recommend you don’t just copy and paste the code, just look at the code and type by understanding it.
Demo
See the Pen Santa in 3D-pixel grid (css) by Mark Boots (@MarkBoots) on CodePen.
HTML Code
Starter Template
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSS --> <link rel="stylesheet" href="style.css"> <title>Coding Torque</title> </head> <body> <!-- Further code here --> </body> </html>
Paste the below code in your <body>
tag.
<!-- sorry if your browser blew up --> <!-- based on model by Stadalf (https://sketchfab.com/3d-models/christmas-calendar-day-15-santa-claus-028359a8b09547c0a2d25e2717fb0a1c) --> <div scene style="--size: 60vmin"> <div rotation animate="true"> <div center-z> <div grid style="--dimension: 26"> <!--l: layers counted from bottom to top --> <!--r: row counted from back to front --> <!--c: column counted from left to right --> <div layer style="--l: 1"> <div pixel style="--r: 13; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--brown)"><span></span></div> </div> <div layer style="--l: 2"> <div pixel style="--r: 13; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--brown)"><span></span></div> </div> <div layer style="--l: 3"> <div pixel style="--r: 13; --c:11; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:12; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:15; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:12; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--white)"><span></span></div> </div> <div layer style="--l: 4"> <div pixel style="--r: 13; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 5"> <div pixel style="--r: 13; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 6"> <div pixel style="--r: 13; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 7"> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 8"> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--brown)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 9"> <div pixel style="--r: 12; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--brown)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--brown)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--white)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--gold)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--gold)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--brown)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--brown)"><span></span></div> </div> <div layer style="--l: 10"> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 11"> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--grey)"><span></span></div> </div> <div layer style="--l: 12"> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:15; --color: var(--grey)"><span></span></div> </div> <div layer style="--l: 13"> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:15; --color: var(--grey)"><span></span></div> </div> <div layer style="--l: 14"> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:9; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:18; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 15; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 16; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 16; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:15; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:16; --color: var(--grey)"><span></span></div> </div> <div layer style="--l: 15"> <div pixel style="--r: 11; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:14; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:15; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 12; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 13; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 15; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 15; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 16; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 16; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:15; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:16; --color: var(--grey)"><span></span></div> </div> <div layer style="--l: 16"> <div pixel style="--r: 11; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:14; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:15; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 12; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 15; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 15; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 17; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 17; --c:15; --color: var(--grey)"><span></span></div> <div pixel style="--r: 18; --c:13; --color: var(--skin)"><span></span></div> <div pixel style="--r: 18; --c:14; --color: var(--skin)"><span></span></div> </div> <div layer style="--l: 17"> <div pixel style="--r: 11; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:12; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:13; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:14; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:15; --color: var(--grey)"><span></span></div> <div pixel style="--r: 11; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 12; --c:11; --color: var(--grey)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--grey)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--grey)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--grey)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--skin)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--skin)"><span></span></div> <div pixel style="--r: 18; --c:13; --color: var(--skin)"><span></span></div> <div pixel style="--r: 18; --c:14; --color: var(--skin)"><span></span></div> </div> <div layer style="--l: 18"> <div pixel style="--r: 10; --c:11; --color: var(--white)"><span></span></div> <div pixel style="--r: 10; --c:12; --color: var(--white)"><span></span></div> <div pixel style="--r: 10; --c:13; --color: var(--white)"><span></span></div> <div pixel style="--r: 10; --c:14; --color: var(--white)"><span></span></div> <div pixel style="--r: 10; --c:15; --color: var(--white)"><span></span></div> <div pixel style="--r: 10; --c:16; --color: var(--white)"><span></span></div> <div pixel style="--r: 11; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 11; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 12; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 12; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--white)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--black)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--black)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--white)"><span></span></div> </div> <div layer style="--l: 19"> <div pixel style="--r: 10; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 12; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--white)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--white)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--white)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--white)"><span></span></div> </div> <div layer style="--l: 20"> <div pixel style="--r: 10; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 15; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 15; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 16; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--skin)"><span></span></div> <div pixel style="--r: 16; --c:17; --color: var(--white)"><span></span></div> </div> <div layer style="--l: 21"> <div pixel style="--r: 11; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:10; --color: var(--white)"><span></span></div> <div pixel style="--r: 16; --c:17; --color: var(--white)"><span></span></div> <div pixel style="--r: 17; --c:11; --color: var(--white)"><span></span></div> <div pixel style="--r: 17; --c:12; --color: var(--white)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--white)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--white)"><span></span></div> <div pixel style="--r: 17; --c:15; --color: var(--white)"><span></span></div> <div pixel style="--r: 17; --c:16; --color: var(--white)"><span></span></div> </div> <div layer style="--l: 22"> <div pixel style="--r: 9; --c:13; --color: var(--white)"><span></span></div> <div pixel style="--r: 9; --c:14; --color: var(--white)"><span></span></div> <div pixel style="--r: 10; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:10; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:17; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 17; --c:16; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 23"> <div pixel style="--r: 9; --c:13; --color: var(--white)"><span></span></div> <div pixel style="--r: 9; --c:14; --color: var(--white)"><span></span></div> <div pixel style="--r: 10; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 10; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:16; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:11; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 16; --c:16; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 24"> <div pixel style="--r: 11; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 11; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 12; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:15; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:12; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 15; --c:15; --color: var(--red)"><span></span></div> </div> <div layer style="--l: 25"> <div pixel style="--r: 13; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 13; --c:14; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:13; --color: var(--red)"><span></span></div> <div pixel style="--r: 14; --c:14; --color: var(--red)"><span></span></div> </div> </div>
CSS Code
Create a file style.css and paste the code below.
/* colors */ :root{ --brown: #391B08; --white: #FFF1EF; --red: #A40000; --gold: #FFD500; --skin: #FFE9A8; --grey: #CFC4C2; --black: #000000; } /* page setup */ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box } body { height: 100vh; display: grid; place-items: center; background-color: #1D1E22 } /* scene set-up */ [scene], [rotation], [center-z] { display: grid } [scene] :not(:empty) { transform-style: preserve-3d } [scene] { width: var(--size); perspective: calc(var(--size) * 2); aspect-ratio: 1 } /* rotate/animate scene */ [rotation][animate="true"] { transform: rotateY(-90deg); animation: rotateScene 9s linear infinite } @keyframes rotateScene{ to { transform: rotateY(270deg) } } [rotation] { transform: rotateX(-0deg) } /* position contents to z-center */ [center-z] { transform: translateZ(calc(var(--size) * .5)) } /* grid */ [grid] { display: grid; grid-template-columns: repeat(var(--dimension), 1fr); grid-template-rows: repeat(var(--dimension), 1fr); } /* layer */ [layer] { display: contents} /* pixel */ [pixel] { --pixel-size: calc(var(--size) / var(--dimension)); grid-row: calc(var(--dimension) - var(--l) + 1); grid-column: var(--c); --row: calc(var(--dimension) - var(--r)); --translateZ: translateZ(calc(var(--pixel-size) * var(--row) * -1)); transform: var(--translateZ); background-color: var(--color); } /* sides set up */ [pixel], [pixel] > span { display: grid; } [pixel] > span { background-color: inherit; transform-style: preserve-3d } [pixel]::before, [pixel]::after, [pixel] > span::before, [pixel] > span::after { content: ""; background-color: inherit } [pixel]::before, [pixel]::after, [pixel] > span, [pixel] > span::before, [pixel] > span::after { grid-area: 1/1 } /*sides orientation*/ [pixel]::before { transform-origin: left; transform: rotateY(90deg) } /*left*/ [pixel]::after { transform-origin: right; transform: rotateY(-90deg) } /*right*/ [pixel] > span { transform: translateZ(calc(var(--pixel-size) * -1)) } /*back*/ [pixel] > span::before { transform-origin: top; transform: rotateX(90deg) } /*top*/ [pixel] > span::after { transform-origin: bottom; transform: rotateX(-90deg) } /*bottom*/ /* shading */ [pixel]::after{ background-image: linear-gradient(rgb(0 0 0 / .25) 100%, transparent) }/*right*/ [pixel] > span::after { background-image: linear-gradient(rgb(0 0 0 / .375) 100%, transparent) }/*bottom*/ /*lighting*/ [pixel]::before { background-image: linear-gradient(rgb(255 255 255 / .25) 100%, transparent) }/*left*/ [pixel] > span::before { background-image: linear-gradient(rgb(255 255 255 / .375) 100%, transparent) }/*top*/ /* floor */ [grid]::after{ content: ""; grid-area: 1/1/-1/-1; border-radius: 50%; /* opacity: 0.5; */ --neg-half-size: calc(var(--size) / -2); transform: rotateX(90deg) translateZ(var(--neg-half-size)) translateY(var(--neg-half-size)); --pixel-size: calc(var(--size) / var(--dimension) * 4); --clr1: hsl(0 0% 100%); --clr2: hsl(0 0% 90%); --clr3: hsl(0 0% 80%); --clr4: hsl(0 0% 70%); background-image: conic-gradient( var(--clr1) 90deg , var(--clr2) 0 180deg , var(--clr3) 0 270deg, var(--clr4) 0 360deg); background-size: var(--pixel-size) var(--pixel-size); box-shadow: 0 0 5vmin 0 black, 0 0 50vmax 0 rgb(255 255 255 / .8); }
Final Output

Written by: Piyush Patil
Code Credits: https://codepen.io/MarkBoots/pen/qBKvXrz
If you found any mistakes or have any doubts please feel free to Contact Us
Hope you find this post helpful💖