Skip navigation

Components / Artwork & collections

Exhibit & Artwork

Artwork/content layout applied to a Group or Card—not a Card subtype. Artwork fills the host bounds, while Container or content measure limits the words.

section.group.exhibit > div.artwork + div.container > div.content
  • Group defines a section’s bounds and vertical spacing. Container limits content width inside it.
  • Card supplies an enclosed surface and optional regions.
  • Exhibit is the artwork/content layout you add to a Group or Card. It is not a Card subtype. Artwork sits beside the content region and fills the host’s bounds.
  • Backdrop paints one background behind multiple Groups. Each Group still owns its content layout.

A meaningful Figure can sit inside the content’s Columns. Decorative Artwork is a separate layer; it does not have to stop at the text Container.

Try it

exhibit is-immersive places content over artwork. With no position class, its fallback is bottom-left, leaving room for art above. Choose any of the nine positions; the generated HTML names it explicitly. Placement moves the content box, while text alignment controls words inside it. An Inset reserves its side of the scene so the main text does not collide with the quotation.

Artwork is a direct child of Group, beside Container. It reaches the Group edges; Container limits only the content. Gold marks the Group bounds; blue marks the inner content region.

Give the artwork room.

The artwork fills the Group. Container bounds the words, not the art.

80%
Supporting text stays readable in the scene.
<section class="group exhibit is-dark is-immersive is-center has-scrim">
  <div class="artwork is-layered" id="example-art" aria-hidden="true"><img src="/assets/images/artwork-placement.svg" alt="" width="800" height="500"><img class="art-foreground" src="/assets/images/artist-foreground.svg" width="800" height="500" alt="" hidden></div>
  <div class="container"><div class="content measure-sm text-center" data-exhibit-main><h2>Give the artwork room.</h2><p class="lede">The artwork fills the Group. Container bounds the words, not the art.</p><dl class="stats"><div><dt>80%</dt><dd>Supporting text stays readable in the scene.</dd></div></dl><button class="button" type="button" data-scene="example-art" hidden>Preview camera pass</button></div></div>
</section>
Class or attributeWhat it does
reserve-1 … reserve-10Ten increasing content reservations over the original range; changes space, not image zoom.
group exhibitSection-wide artwork is a direct child of Group, beside Container. It is not constrained to the text width.
card exhibitThe same layout on an enclosed surface. Card owns the surface; Exhibit owns artwork/content placement.
is-darkOpt into light ink and controls over a dark scene; Exhibit alone does not change text color.
is-art-bottomReserve the space below instead of above.
is-immersiveFull-surface art with content over it.
default placementBottom-left leaves room for artwork above. This is an Exhibit default, not Card behavior. Add a position class to choose deliberately.
has-height-small / has-height-medium / has-height-largeResponsive minimum heights; long content still expands naturally.
content alignment / columnsNormal text alignment and Columns also work in non-immersive mode.
is-top-left/center/rightImmersive top placement.
is-center-left / is-center / is-center-rightImmersive middle placement.
is-bottom-left/center/rightImmersive bottom placement.
has-scrimContrast layer in immersive mode.
has-insetMeasured rounded artwork cutaway around an Inset.
artwork.is-faded / artwork.is-layeredEdge fade or coordinated background/foreground layers.
--art-fade-colorOptional per-Exhibit fade destination; defaults to the Exhibit surface. Set on a named section for another color.
artwork.is-containedShow the whole decorative image instead of cover-cropping it.
data-sceneOptional button targets layered artwork for the camera-pass demonstration.