3x3 interlocking image grid with wavy scalloped borders created using CSS mask and radial gradients

Interlocking Wavy Image Grid

This is an Interlocking Wavy Image Grid. It applies procedural scalloped edges to raster images and shifts them into a tight, puzzle-like masonry formation. Its function is to break rigid, rectangular bounds in visual galleries, converting standard blocks into an organic, cohesive texture.

Technologies:
HTML CSS
Difficulty: Advanced
Browser Support (as of May 2026):
Chrome Chrome 111+ Edge Edge 111+ Firefox Firefox 112+ Safari Safari 15.4+
Features:
Wavy Borders CSS Masking Math Functions Interlocking Layout
Code by: Temani Afif Temani Afif
License: MIT

See the Pen Interlocking Wavy Image Grid.

Adaptive image gallery grid with fluid flexbox rows and smooth fade-in lazy loading

Responsive Fluid Photo Gallery Grid

This is a Responsive Fluid Photo Gallery Grid. It organizes varied aspect-ratio images into justified rows without cropping essential content. Its primary function is to optimize visual space, ensuring edge-to-edge alignment while deferring offscreen asset loading for strict performance control. (Requires: lazysizes, object-fit-images)

Technologies:
Pug Sass JavaScript
Difficulty: Intermediate
Browser Support (as of Mar 2026):
Chrome Chrome 80+ Edge Edge 80+ Firefox Firefox 75+ Safari Safari 13+
Features:
Fluid Grid Lazy Loading Smart Scaling
License: MIT
A video game character select screen with a large image of Ryu and a row of selectable character portraits at the bottom

CSS :has() Character Select Screen

This is a CSS :has() Character Select Screen. It replicates the classic user interface of a fighting game’s selection menu, using modern CSS to handle all state logic. Its function is to demonstrate how the :has() pseudo-class can completely replace JavaScript for managing visibility in a selection-based UI, triggering changes in the main content area based on the state of a radio button group. (Requires: Vue)

Technologies:
HTML CSS JavaScript
Difficulty: Beginner
Browser Support (as of Mar 2026):
Chrome Chrome 105+ Edge Edge 105+ Firefox Firefox 121+ Safari Safari 15.4+
Features:
CSS State Management No JavaScript Logic Responsive Grid
Code by: Sicontis Sicontis
License: MIT
4x4 image grid with a central magnified pop-up overlay appearing on long-press, demonstrating a tactile preview interaction

Tactile Long Press Image Grid

In a world obsessed with speed, we often forget the power of distinct intent. The standard “click” is binary and abrupt. This component introduces a moment of pause — a “breath” — allowing the user to peek into content without committing to a navigation event. By utilizing the “long press” (or click-and-hold) mechanic, we bridge the gap between desktop precision and mobile intuition, creating a gallery experience that feels organic and responsive to the user’s curiosity.

Technologies:
HTML CSS JavaScript
Difficulty: Beginner
Browser Support (as of Feb 2026):
Chrome Chrome 57+ Edge Edge 16+ Firefox Firefox 52+ Safari Safari 10.1+
Features:
Long Press Interaction Responsive Grid Touch Support Instant Preview
Code by: Valentin Valentin
License: MIT

See the Pen Tactile Long Press Image Grid.

Single Image with Squircle Shape and Inner Shadow

Single Image with Squircle Shape and Inner Shadow

Explore the power of CSS Grid with auto-fit for a responsive layout and SVG filtering techniques to give images a trendy squircle outline and unique shadow effect.

Scroll-Driven Grid Animation with CSS-Doodle

A mesmerizing scroll-driven image grid powered by the cutting-edge animation-timeline: view() CSS property and the <css-doodle> web component.

Pure CSS Responsive Hex Grid

An adaptive hexagonal grid without media queries, built on Container Queries, where the column count and the position of each element are calculated in CSS via complex calc() functions. The code demonstrates progressive enhancement - with a fallback to @property and a tan(atan2()) math trick to emulate division in older browsers.

See the Pen Pure CSS Responsive Hex Grid.

Flexbox + Quantity Queries Image Grid

Flexbox and quantity queries dynamically adjust image widths based on the number of items per row — one, two, or three images each receive an appropriate flex basis. The CSS relies on complex :nth-last-child selectors to detect the total count, keeping the markup clean.

A fluid image grid built with floated <li> elements — each item takes one‑third of the row. Placeholders use inset box‑shadow to simulate a recessed frame. On hover, two pseudo‑elements scale up: a gray background and a bordered black overlay, creating a layered spotlight effect.

2x2 Image Grid

A fixed‑width container holds four floated images — each takes 45% width with 1.66% margins, creating a two‑by‑two grid. The layout relies on floats and percentage values, but the container’s fixed size limits true responsiveness. Borders and a dark background complete the minimal design.

Hexagons are cut with clip-path and floated into a honeycomb grid using negative margins. On hover, colored overlays and text fade in. No JavaScript — the effect is pure CSS.

Image Grid

This is a responsive image grid built with flexbox — four columns collapse into a single column on small screens. Background images are applied via utility classes; the divs themselves remain empty. The design is minimal and functional, with no JavaScript.

Isometric Image Grid

This 3D mockup grid uses CSS transforms to create a pseudo‑isometric perspective — the container is rotated, and each item has left/bottom faces drawn with pseudo‑elements. An inner <span> casts a shadow, adding depth. The layout is fixed‑width and non‑responsive, relying on absolute positioning and manual background images.

CSS Image Grid

CSS Grid with auto‑fill, minmax, and dense packing creates a responsive masonry‑like layout. Random span classes give items varied sizes, while Pug loops generate weighted randomness for spans and background images from unsplash.it. No JavaScript — the layout is static and visually dense.

CSS Image Grid with Hover

Bootstrap grid builds a responsive image gallery — tiles switch from two to three columns. Each tile has a background image; hover reveals a colored overlay with mix-blend-mode and shifts the text slightly. The design is clean and functional, relying on CSS transitions and flexbox.

Stylus mixins and variables build a responsive grid of skewed cards. On hover, each card shifts and reveals a border; the background image blends with a color overlay via background-blend-mode. The layout uses CSS Grid and absolute positioning for the arrow icon.s