Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Headline Testimonials Block for React

A side header and a hairline grid of Sundial customers' quotes: the page column splits at `lg`, each quote leads with its takeaway as a large headline, and on a phone the six cells become one snap row.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A testimonials grid for pages where the point matters more than the paragraph. The page column splits in two with a hairline divider: the start side holds the heading, one sentence and a Shine Button to the case studies, and stays in view while the quotes scroll; the end side holds six cells in two columns between shared hairlines, with + marks where the grid meets the divider and the rails. Each cell opens with a large headline that states what the customer got, the longer quote follows in a smaller, quieter size, and a small avatar with the name and role closes it. A reader who only skims still gets six outcomes. On a phone the cells become one row you swipe, the next one peeking in. It's built from Avatar, Guides and Shine Button with CSS transitions only and your theme's tokens. For landing pages, pricing pages and anywhere a card grid would look heavy.

FAQ

How do I change the headlines and quotes?

Edit TAKEAWAYS at the top of the file. Each entry has a headline, the quote and the person's details. Write the headline as the result in the customer's words, in under about eight words, and let the quote carry the detail. The grid is built for six; with five or seven the last row is uneven.

How are the hairlines drawn?

The list sits on the border colour with a one-pixel gap, and each cell paints the page background over it, so the lines are just the gap showing through. That keeps the dividers correct at one and two columns without per-cell border rules, and they follow your theme's border colour in light and dark. The divider between the header and the grid is the grid column's own start border, and Guides draws the + marks where the lines meet.

How does the layout change with the screen?

From lg the page column is two columns, about two fifths for the header and three fifths for the grid, which has two columns of cells; the header sticks to the top of the screen while the grid scrolls. Below lg the header comes first and the grid below it; from sm it has two columns and below sm it is one swipeable row.

How does the swipeable row work?

Below sm the six cells sit in one row with snap points, each 85% of the width so the next one shows, and the first headline starts on the first screen. The row is a tab stop, so a keyboard can scroll it with the arrow keys. From sm the cells sit in a grid and nothing scrolls sideways.

How does a screen reader read a cell?

The cells are a list named "Customer quotes". Each has its headline as an h3 under the section's h2, then a figure with the quote as a blockquote and the name and role as its caption. The initials avatar is hidden, since the name is written beside it.

Does it work in right-to-left languages?

Yes. The divider is on the inline start edge of the grid column, so it flips, the name line follows the reading direction and the quote sits in a bdi, so its quotation marks stay at the ends of the sentence.

  • Pro

    Three customer quotes for an invoicing app in cells apart on hairline frames with + marks, each led by its result, with the middle one raised and a header that carries the rating and one Shine Button.

  • Pro

    Snippet Testimonials

    Chats and posts

    Customer quotes for a component kit, set out like search results: a result count on a ruled band, then six results in two columns sharing their hairlines, each with a breadcrumb, a linked outcome headline and an excerpt with the matching terms in bold.

  • Pro

    Three customer quotes with no card chrome: a centred header over one closing band of three columns, each a large initials avatar over a centred quote, divided by hairlines.

  • Pro

    Five customer quotes about a UI kit, set large in ruled bands under keyword chips: pick one and every quote that mentions it marks the words, lights a bar and counts where it comes up.

  • Pro

    A centred showcase hero with a headline, a Shine Button and an outline action over a wall of six customer quotes in cells that share their hairlines, a snap carousel on a phone.

  • Pro

    A quote-only bento drawn with hairlines: one large lead story beside four shorter quotes, in cells that share their lines, on the page's drafting lines.