About this set
Tall story cards with full-bleed artwork and text laid over a dark gradient veil at the bottom: a frosted category tag, the title, a hidden description and a Read the story cue with an arrow. On hover the background zooms in slightly, the description slides open by animating max-height and opacity, and the arrow nudges right. Keyboard focus does the same through :focus-within, and on touch screens, which cannot hover, the description is always shown. The card uses the stretched link pattern: the title is the only link and its ::after covers the card, so the whole card is clickable while screen readers hear just the title. The Read the story cue is visual only and is hidden from assistive technology. Because the link sits in a heading rather than wrapping the card, the tag and description are read as normal text and are not swallowed into the link name. Swap the gradient and emoji for an img with alt text, or alt=”” if decorative. Bootstrap builds it from .card-img, .card-img-overlay, .badge and .stretched-link.
What’s included
- Stretched title link with the whole card clickable
- Description revealed on hover and on keyboard focus
- Description always visible on touch screens without hover
- Background zoom and arrow nudge, off under prefers-reduced-motion
- Card-level focus ring while the link is focused
Accessibility
The title link is the card's single link and its text is its name; the visual Read the story cue is aria-hidden. Keyboard focus reveals the description and draws a white 3px ring around the card. The zoom, slide and arrow motion are removed under prefers-reduced-motion, and devices without hover show the description all the time.
Customise it
Change the artwork gradients in .hc-g1 and .hc-g2, the veil darkness in .hc-veil and the reveal height in the max-height rule. Bootstrap uses the same colours on .card-img and .card-img-overlay; in Tailwind edit the from-/to- utilities and group-hover:max-h-[110px].




















