3D skeuomorphic desk calendar with realistic paper stack depth and a neon glow effect in dark mode using CSS skew and box-shadows.

Skeuomorphic Lunar Desk Calendar

The Skeuomorphic Lunar Desk Calendar is a digital recreation of the traditional “Hardware Store Calendar”. It bridges the gap between physical paper textures and dynamic digital logic, providing users with both Gregorian and Lunar dates. Its function is to serve as a high-fidelity desktop widget that celebrates heritage design through modern CSS geometry.

Technologies:
Pug Sass JavaScript
Difficulty: Intermediate
Browser Support (as of Mar 2026):
Chrome Chrome 80+ Edge Edge 80+ Firefox Firefox 75+ Safari Safari 13.5+
Features:
Lunar Date Engine 3D Perspective Neon Dark Mode Real-time Clock
Code by: Erica Erica
License: MIT
Minimalist 3D book mockup with interactive flipping pages displaying high-resolution photography on a textured background.

Interactive 3D Flip Book Gallery

This is an Interactive 3D Flip Book Gallery. It simulates a physical book structure where each element acts as a double-sided page. Its function is to showcase images through spatial depth, replacing standard flat carousels with a tactile flipping mechanic.

Technologies:
HTML CSS JavaScript
Difficulty: Intermediate
Browser Support (as of Mar 2026):
Chrome Chrome 85+ Edge Edge 85+ Safari Safari 16.4+ Firefox Firefox 128+
Features:
3D Perspective Page Turning Stacked Layout Auto-Closure
Code by: Daniel Muñoz Daniel Muñoz
License: MIT
Clean digital magazine layout with asymmetric CSS Grid columns, sticky section labels, and grayscale photography

Minimalist Grid Editorial Layout

This is a Minimalist Grid Editorial Layout built for digital publishing. It translates traditional Swiss print design into a responsive web format using CSS Grid. The layout utilizes asymmetric columns and deliberate negative space to establish a clear hierarchy for long-form reading.

Technologies:
HTML CSS
Difficulty: Beginner
Browser Support (as of Mar 2026):
Chrome Chrome 88+ Edge Edge 88+ Firefox Firefox 85+ Safari Safari 14.1+
Features:
Asymmetric Grid Sticky Labels Fluid Typography Print Aesthetic
Code by: Gemma Croad Gemma Croad
License: MIT
A grid of four product cards featuring inset shadows, fluid typography, and dynamic accent colors based on OKLCH color space.

Modern Container Query Product Cards

This snippet showcases Modern Container Query Product Cards. It represents the bleeding edge of CSS architecture, utilizing @scope, @layer, and @property to create highly encapsulated, fluid components. Its function is to provide a robust e-commerce card layout that automatically adjusts its internal styling and grid distribution based on the physical size of its container, not the viewport. (Requires: kiso.css)

Technologies:
HTML CSS
Difficulty: Advanced
Browser Support (as of Mar 2026):
Chrome Chrome 118+ Edge Edge 118+ Firefox Firefox 128+ Safari Safari 17.4+
Features:
Container Queries CSS Scope OKLCH Colors Fluid Typography
Code by: tak-dcxi tak-dcxi
License: MIT
A retro arcade Pong game interface with glowing neon paddles, a bright cyan ball, and CRT scanline effects on a dark background.

Neon Vaporwave Pong Game

This is a Neon Vaporwave Pong Game (“CODEPONG 26”). It is a complete, browser-based arcade game rendered via the HTML5 Canvas 2D API. Its function is to provide a highly polished, playable experience that demonstrates advanced frontend techniques, including a custom physics engine, an adaptive AI opponent that gets harder as the game progresses, and programmatic audio synthesis for sound effects. (Requires: FontAwesome)

Technologies:
HTML CSS JavaScript
Difficulty: Advanced
Browser Support (as of Mar 2026):
Chrome Chrome 60+ Edge Edge 79+ Firefox Firefox 55+ Safari Safari 11+
Features:
Canvas 2D Rendering Adaptive AI Particle Physics Web Audio API CRT Filter Effects
Code by: Matt Cannon Matt Cannon
License: MIT

See the Pen Neon Vaporwave Pong Game.

Black and white optical illusion geometric pattern generated with pure CSS gradients

Optical Illusion CSS Background Pattern

This is an Optical Illusion CSS Background Pattern. It generates a complex, interlocking geometric tessellation using only mathematical gradient overlays. Its function is to provide a visually striking, lightweight background texture without requiring external image assets.

Technologies:
CSS
Difficulty: Intermediate
Browser Support (as of Mar 2026):
Chrome Chrome 69+ Edge Edge 79+ Firefox Firefox 83+ Safari Safari 12.1+
Features:
Pure CSS Gradient Overlays Minimal Footprint
License: MIT
Black and white optical illusion pattern featuring a central circle that appears to pulse against a striped background, created with pure CSS gradients

Pulsing Circle Optical Illusion

This is a Pulsing Circle Optical Illusion. It generates a static, high-contrast geometric pattern that exploits peripheral vision to create a false sense of motion. Its function is to serve as a lightweight, visually arresting background or artistic centerpiece using only a handful of CSS properties and zero JavaScript.

Technologies:
CSS
Difficulty: Beginner
Browser Support (as of Mar 2026):
Chrome Chrome 69+ Edge Edge 79+ Firefox Firefox 83+ Safari Safari 12.1+
Features:
Optical Illusion Pure CSS No Animation
License: MIT
Two colored boxes (yellow and blue) moving horizontally across a black and white striped background, demonstrating the stepping feet illusion.

Stepping Feet Optical Illusion

This is the Stepping Feet Optical Illusion. It demonstrates how high-contrast patterns interfere with human motion perception. Two colored blocks move at identical, constant speeds, yet appear to stagger and “step” like feet. A hover interaction removes the background grid to expose the mathematical reality of their parallel movement.

Technologies:
CSS
Difficulty: Intermediate
Browser Support (as of Mar 2026):
Chrome Chrome 105+ Edge Edge 105+ Firefox Firefox 121+ Safari Safari 16.4+
Features:
Pseudo-elements Keyframe Animation Linear Gradients
License: MIT
A bright yellow button with an animated dashed border that draws itself around the perimeter on hover, along with corner dots that appear sequentially.

Animated Border Drawing Button

This is an Animated Border Drawing Button. It transforms a standard call-to-action into a multi-stage micro-interaction. Upon hovering over the button, the component triggers a sequential animation where four corner dots appear, followed by four dashed border lines that “draw” themselves around the button’s perimeter, creating a high-end, futuristic feel.

Technologies:
HTML CSS
Difficulty: Intermediate
Browser Support (as of Mar 2026):
Chrome Chrome 105+ Edge Edge 105+ Firefox Firefox 121+ Safari Safari 15.4+
Features:
Staggered Animation CSS :has() Pure CSS
Code by: dexter-st dexter-st
License: MIT
Loading...
<div class="btn-wrapper">
  <div class="line horizontal top"></div>
  <div class="line vertical right"></div>
  <div class="line horizontal bottom"></div>
  <div class="line vertical left"></div>

  <div class="dot top left"></div>
  <div class="dot top right"></div>
  <div class="dot bottom right"></div>
  <div class="dot bottom left"></div>

  <button class="btn">
    <span class="btn-text">start designing</span>
    <svg class="btn-svg" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
      <path
        d="M17.6744 11.4075L15.7691 17.1233C15.7072 17.309 15.5586 17.4529 15.3709 17.5087L3.69348 20.9803C3.22819 21.1186 2.79978 20.676 2.95328 20.2155L6.74467 8.84131C6.79981 8.67588 6.92419 8.54263 7.08543 8.47624L12.472 6.25822C12.696 6.166 12.9535 6.21749 13.1248 6.38876L17.5294 10.7935C17.6901 10.9542 17.7463 11.1919 17.6744 11.4075Z"
      ></path>
      <path d="M3.2959 20.6016L9.65986 14.2376"></path>
      <path
        d="M17.7917 11.0557L20.6202 8.22724C21.4012 7.44619 21.4012 6.17986 20.6202 5.39881L18.4989 3.27749C17.7178 2.49645 16.4515 2.49645 15.6704 3.27749L12.842 6.10592"
      ></path>
      <path
        d="M11.7814 12.1163C11.1956 11.5305 10.2458 11.5305 9.66004 12.1163C9.07426 12.7021 9.07426 13.6519 9.66004 14.2376C10.2458 14.8234 11.1956 14.8234 11.7814 14.2376C12.3671 13.6519 12.3671 12.7021 11.7814 12.1163Z"
      ></path>
    </svg>
  </button>
</div>
body {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin: 0;
  padding: 0;
}

/* From Uiverse.io by dexter-st */ 
.btn-wrapper {
  --dot-size: 6px;
  --line-weight: 1px;
  --line-distance: 0.9rem 1.1rem;
  --animation-speed: 0.35s;
  --dot-color: #666;
  --line-color: #999;

  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  padding: var(--line-distance);
  background-color: #0000;
  transition: background-color 0.3s ease-in-out;
  user-select: none;
}

.btn-wrapper:has(.btn:hover) {
  animation: backround-color-change calc(var(--animation-speed) * 4) ease-in-out
    forwards;
}
@keyframes backround-color-change {
  80% {
    background-color: #0000;
  }
  100% {
    background-color: #e5ff0055;
  }
}

.btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.8rem 1.25rem;
  background-color: #e5ff00;
  background-image: linear-gradient(#0000, #0004);
  border: none;

  color: #0008;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  text-transform: capitalize;

  border-radius: 30% / 200%;
  cursor: pointer;

  box-shadow:
    0 0 0px 1px #0003,
    0px 1px 1px rgba(3, 7, 18, 0.02),
    0px 5px 4px rgba(3, 7, 18, 0.04),
    0px 12px 9px rgba(3, 7, 18, 0.06),
    0px 20px 15px rgba(3, 7, 18, 0.08),
    0px 32px 24px rgba(3, 7, 18, 0.1);

  transition:
    background-color 0.2s ease-in-out,
    transform 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out,
    border-radius 0.3s ease-in-out,
    border-color 0.2s ease-in-out;
}

.btn:hover {
  background-color: #fff;
  transform: scale(1.05);
  border-radius: 10% / 200%;
}
.btn:active {
  background-color: #e5ff00;
  transform: scale(0.98);
  border-radius: 20% / 200%;
}

.btn-svg {
  margin-left: 0.5rem;
  height: 24px;
  stroke-width: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #0007;
  fill: #fffa;
  transition: all 0.3s ease-in-out;
}

.btn:hover .btn-svg {
  stroke: #0008;
  fill: #e5ff00;
}
.btn:active .btn-svg {
  stroke: #0009;
  fill: #f1ff76;
}

/* Dots */
.dot {
  position: absolute;
  width: var(--dot-size);
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--dot-color);
  transition: all 0.3s ease-in-out;
  opacity: 0;
}

.btn-wrapper:has(.btn:hover) .dot.top.left {
  top: 50%;
  left: 20%;
  animation: move-top-left var(--animation-speed) ease-in-out forwards;
}
@keyframes move-top-left {
  90% {
    opacity: 0.6;
  }
  100% {
    top: calc(var(--dot-size) * -0.5);
    left: calc(var(--dot-size) * -0.5);
    opacity: 1;
  }
}
.btn-wrapper:has(.btn:hover) .dot.top.right {
  top: 50%;
  right: 20%;
  animation: move-top-right var(--animation-speed) ease-in-out forwards;
  animation-delay: calc(var(--animation-speed) * 0.6);
}
@keyframes move-top-right {
  80% {
    opacity: 0.6;
  }
  100% {
    top: calc(var(--dot-size) * -0.5);
    right: calc(var(--dot-size) * -0.5);
    opacity: 1;
  }
}
.btn-wrapper:has(.btn:hover) .dot.bottom.right {
  bottom: 50%;
  right: 20%;
  animation: move-bottom-right var(--animation-speed) ease-in-out forwards;
  animation-delay: calc(var(--animation-speed) * 1.2);
}
@keyframes move-bottom-right {
  80% {
    opacity: 0.6;
  }
  100% {
    bottom: calc(var(--dot-size) * -0.5);
    right: calc(var(--dot-size) * -0.5);
    opacity: 1;
  }
}
.btn-wrapper:has(.btn:hover) .dot.bottom.left {
  bottom: 50%;
  left: 20%;
  animation: move-bottom-left var(--animation-speed) ease-in-out forwards;
  animation-delay: calc(var(--animation-speed) * 1.8);
}
@keyframes move-bottom-left {
  80% {
    opacity: 0.6;
  }
  100% {
    bottom: calc(var(--dot-size) * -0.5);
    left: calc(var(--dot-size) * -0.5);
    opacity: 1;
  }
}

/* Lines */
.line {
  position: absolute;
  transition: all 0.3s ease-in-out;
}
.line.horizontal {
  height: var(--line-weight);
  width: 100%;
  background-image: repeating-linear-gradient(
    90deg,
    #0000 0 calc(var(--line-weight) * 2),
    var(--line-color) calc(var(--line-weight) * 2) calc(var(--line-weight) * 4)
  );
}
.line.top {
  top: calc(var(--line-weight) * -0.5);
}
.line.bottom {
  bottom: calc(var(--line-weight) * -0.5);
}
.line.vertical {
  width: var(--line-weight);
  height: 100%;
  background-image: repeating-linear-gradient(
    0deg,
    #0000 0 calc(var(--line-weight) * 2),
    var(--line-color) calc(var(--line-weight) * 2) calc(var(--line-weight) * 4)
  );
}
.line.left {
  left: calc(var(--line-weight) * -0.5);
}
.line.right {
  right: calc(var(--line-weight) * -0.5);
}

.line.top {
  transform-origin: top left;
  transform: rotate(5deg) scaleX(0);
}
.btn-wrapper:has(.btn:hover) .line.top {
  animation: draw-top var(--animation-speed) ease-in-out forwards;
  animation-delay: calc(var(--animation-speed) * 0.8);
}
@keyframes draw-top {
  100% {
    transform: rotate(0deg) scaleX(1);
  }
}
.line.bottom {
  transform-origin: bottom right;
  transform: rotate(5deg) scaleX(0);
}
.btn-wrapper:has(.btn:hover) .line.bottom {
  animation: draw-bottom var(--animation-speed) ease-in-out forwards;
  animation-delay: calc(var(--animation-speed) * 2);
}
@keyframes draw-bottom {
  100% {
    transform: rotate(0deg) scaleX(1);
  }
}

.line.left {
  transform-origin: bottom left;
  transform: rotate(0deg) scaleY(0);
}
.btn-wrapper:has(.btn:hover) .line.left {
  animation: draw-left var(--animation-speed) ease-in-out forwards;
  animation-delay: calc(var(--animation-speed) * 2.4);
}
@keyframes draw-left {
  100% {
    transform: rotate(0deg) scaleY(1);
  }
}

.line.right {
  transform-origin: top right;
  transform: rotate(5deg) scaleY(0);
}
.btn-wrapper:has(.btn:hover) .line.right {
  animation: draw-right var(--animation-speed) ease-in-out forwards;
  animation-delay: calc(var(--animation-speed) * 1.4);
}
@keyframes draw-right {
  100% {
    transform: rotate(0deg) scaleY(1);
  }
}
A bold white typography title 'Animation' where letters float and tilt on hover, accompanied by a dynamic Lottie sparkle effect in the background

DotLottie Interactive Sparkle Header

This is a DotLottie Interactive Sparkle Header. It blends high-performance character-level typography effects with the modern DotLottie animation format. Its function is to create a delightful, “juicy” hero interaction: when a user hovers over the title, the letters individually react with a staggered lift-and-tilt motion, while a complex Lottie sparkle animation plays in the background. (Requires: @lottiefiles/dotlottie-web)

Technologies:
HTML SCSS JavaScript
Difficulty: Intermediate
Browser Support (as of Mar 2026):
Chrome Chrome 80+ Edge Edge 80+ Firefox Firefox 75+ Safari Safari 13+
Features:
DotLottie Integration Letter-by-Letter Stagger Hover Interaction Reduced Motion Support
Code by: Carmen Ansio Carmen Ansio
License: MIT