Back to components
ComponentCardFree

Image Box React component

An image box for stories, projects and services in three layouts (stacked, overlay, split), with an image that drifts toward the pointer, a drawn title underline, a sliding arrow, a description that opens on hover in the overlay layout and the whole card as one accessible link.

About the Image Box component

Image Box is the card you reach for when a picture and a few lines of text lead somewhere: a blog post, a project, a service. It comes in three layouts — stacked (image on top), overlay (text on the image) and split (side by side) — that share the same props, so you can switch between them without rewriting anything.

The details are quiet: the image drifts slightly toward the pointer and zooms in, the title draws an underline, the arrow slides, and in the overlay layout the description opens up on hover. The whole card is clickable, yet a screen reader hears it as one link named after the title.

When to use it

Use it for blog and journal listings, case-study grids, service overviews and 'related posts' rows.

Use overlay when the photo is the point and the text is short; use stacked or split when the description matters, since overlay hides it until hover on desktop.

Installation

Add the Image Box component to your project with the shadcn CLI. It lands in components/image-box.tsx as plain React + Tailwind CSS source you own and can edit.

Install
Copied!
npx shadcn@latest add @reactframe/image-box

Or copy the source by hand and install its dependencies:

Install
Copied!
npm install lucide-react clsx tailwind-merge

More Card components

Pixelate Hover Card
Free
Flip Box
Free
Card Shuffle Stack
Free
Focus Frame
Distorted Photo Card
Free
Sticky Scroll Reveal