Staggered Item Load
List items or grid cards appear one after another with a small delay between each, creating a cascading reveal effect. Adds rhythm and polish to content-heavy pages.
Live Demo
What It Is
List items or grid cards appear one after another with a small delay between each, creating a cascading reveal effect. Adds rhythm and polish to content-heavy pages.
✓When to Use
- Dashboard cards that load all at once but should feel orchestrated
- Search results or filtered lists appearing on screen
- Gallery grids or product catalogs
- Feature sections on marketing pages
✕When NOT to Use
- More than 20-30 items (long stagger becomes annoying)
- Time-critical data where instant display is important
- Paginated content that users scroll through quickly
Configuration Tips
- 01Set stagger delay between 0.05s-0.15s per item - 0.1s is a good default for most grids
- 02Limit staggering to first 10-15 items if list is very long (use instant reveal for rest)
- 03Adjust initial y-offset (10px-30px) based on item size - larger cards need more travel
- 04Use ease-out timing function for more natural deceleration as items settle
You've Seen It In
Prompt Templates
Copy and paste these prompts into your AI coding assistant.
Make my grid cards appear one by one with a staggered fade-in effect. Each item should slide up slightly with a small delay between them.
Code Example (Tailwind CSS)
'use client';
import { motion } from 'framer-motion';
const containerVariants = {
hidden: {},
visible: {
transition: {
staggerChildren: 0.1,
},
},
};
const itemVariants = {
hidden: { opacity: 0, y: 20 },
visible: {
opacity: 1,
y: 0,
transition: {
duration: 0.4,
ease: 'easeOut',
},
},
};
export function StaggeredGrid({ children }: { children: React.ReactNode }) {
return (
<motion.div
variants={containerVariants}
initial="hidden"
animate="visible"
className="grid gap-6 sm:grid-cols-2 lg:grid-cols-3"
>
{React.Children.map(children, (child) => (
<motion.div variants={itemVariants}>
{child}
</motion.div>
))}
</motion.div>
);
}Related Effects
Skeleton Screen
A placeholder UI that mimics the shape and layout of your actual content before it loads. Shows gray blocks where text, images, and UI elements will appear, reducing perceived waiting time.
Shimmer / Sweep Loader
An animated highlight that sweeps horizontally across placeholder content, creating the illusion of activity and reducing perceived wait time. Often combined with skeleton screens.
Blur Fade-in
Content fades in while simultaneously transitioning from blurred to sharp focus, creating a cinematic reveal effect. More sophisticated than a simple fade.