Skip to content

Skeleton

Skeleton is a placeholder shown in the shape of content that is still loading. It is decorative and hidden from assistive tech (aria-hidden), so set aria-busy on the region it stands in for. Under prefers-reduced-motion it stays still.

Demos

Basic

text makes an inline line of text, 1em tall and on the text’s baseline; repeat renders several.

Shape

Corners follow the theme; sharp squares them, round rounds the ends, and circle takes width, then height, for both sides.

Size

size gives the height of a Button or Input of that size, so a placeholder takes the space of the control it stands in for.

Repeat

Loading card

Circles and text lines composed into the shape of a card.

Loading content

Swap each skeleton for the content once it arrives. The region carries aria-busy while loading.

Props

NameTypeDefaultDescriptionVersion
textbooleanfalseAn inline line of text.Unreleased
roundbooleanfalseFully rounded ends.Unreleased
circlebooleanfalseA circle.Unreleased
sharpbooleanfalseSquare corners instead of the theme’s radius.Unreleased
widthnumber | stringundefinedWidth; a number is in px. Defaults to the full width.Unreleased
heightnumber | stringundefinedHeight; a number is in px. Defaults to size’s height, or 1em.Unreleased
sizesmall | medium | largeundefinedHeight of a control of that size.Unreleased
repeatnumber1How many to render. Every copy gets the props; ref goes to the first.Unreleased
animatedbooleantruePlays the loading animation.Unreleased

The corners follow the theme unless sharp is set.