3D Santa using HTML and CSS Only

Share your love

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💖

Share your love