StealThis .dev

Skeleton Loader

CSS-only shimmer skeleton loading placeholders for cards and content blocks. Zero JavaScript — pure CSS keyframe animation with a traveling shimmer highlight.

Open in Lab
css keyframes css-variables
Targets: HTML React Native

Expo Snack

Code

Skeleton Loader

Pure CSS skeleton loading placeholders with a traveling shimmer effect. Use them as drop-in replacements while async content loads — no JavaScript required.

How it works

The shimmer is a linear-gradient that travels across each skeleton element using a @keyframes animation on background-position. All skeleton elements share the .skeleton utility class.

@keyframes shimmer {
  from { background-position: -200% center; }
  to   { background-position:  200% center; }
}

Skeleton shapes included

  • Text lines — varying widths to simulate natural text
  • Avatar — circular skeleton for profile images
  • Thumbnail — rectangular block for images
  • Card layout — combined skeleton card matching a real content card

When to use it

  • Content that loads asynchronously (API calls, images)
  • Replace spinners for better perceived performance
  • Any list or grid of cards