ELFBAR

Skeleton

Loading placeholders that mimic content layout.

When to Use

  • Replacing content while data is loading
  • Reducing perceived wait time with visual placeholders
  • Maintaining layout stability during async operations

Variants

VariantDimensionsShapeUse for
title32px × full widthRounded rectHeadings, large text
body18px × full widthRounded rectBody text lines
button40 × 160pxRounded rectCTA buttons
avatar48 × 48pxCircleUser avatars, icons
media240px × full widthRounded rectImages, videos, banners
block160px × full widthRounded rectCards, panels, generic areas

Animation Modes

AnimationDescriptionWhen to use
shimmerLight wave sweeps left → right (default)General loading — provides clear motion signal
pulseOpacity breathes in and outSubtle UIs, reduced-motion preference fallback
noneStatic, no animationStatic placeholders, manual control

Reduced motion: Both shimmer and pulse respect prefers-reduced-motion: reduce.

Best Practices

  • Match skeleton shapes to the actual content layout
  • Avoid mixing animation modes within the same loading state
  • Use none animation for static placeholders in design previews