SolutionsCase StudiesAI ToolsResourcesAboutContact
Get Your Free AI Automation Audit Book a Free 30-Minute Strategy Call
Playground~/frontend Open editor

~/css/blockquotes

8 CSS Blockquotes

7 Pure CSS1 with JSPublished 2026-10-04Free · no sign-up

Eight quote styles: an editorial pull quote, a documentation quote with a left border, a testimonial card, a gradient quote with a highlighted phrase, a large centred quote, a social post quote, a floated sidebar pull quote and a quote strip with Previous and Next buttons.

01. Classic Pull Quote

QuoteTypography

An editorial pull quote with a large decorative quotation mark, the quote in a serif face and the attribution in a figcaption. Using figure, blockquote and figcaption keeps the quote and its source correctly associated.

View code
<figure class="bq1">
  <blockquote><p>Good design is as little design as possible, but never less than the problem needs.</p></blockquote>
  <figcaption>Dana Kim, <cite>Notes from the Studio</cite></figcaption>
</figure>
.bq1 { box-sizing: border-box; max-width: 100%; position: relative; width: 420px; margin: 0; padding: 22px 22px 22px 54px; font-family: Georgia, "Times New Roman", serif; }
.bq1::before { content: "\201C"; position: absolute; left: 6px; top: -8px; color: #c7d2fe; font-size: 90px; line-height: 1; }
.bq1 blockquote { margin: 0; }
.bq1 p { margin: 0 0 12px; color: #101828; font-size: 21px; line-height: 1.45; }
.bq1 figcaption { color: #475467; font: 600 14px Inter, system-ui, sans-serif; }
.bq1 cite { font-style: italic; font-weight: 400; }

02. Left Border Blockquote

QuoteMinimal

The plain documentation-style quote: a thick coloured border on the left, a little indent and a slightly brighter text colour. It suits long-form articles where quotes should stand out without breaking the reading flow.

View code
<blockquote class="bq2"><p>Ship small changes often. Big releases hide small mistakes.</p><footer>Team handbook, section 4</footer></blockquote>
.bq2 { box-sizing: border-box; max-width: 100%; width: 400px; margin: 0; padding: 4px 0 4px 20px; border-left: 4px solid #7c9cff; font-family: Inter, system-ui, sans-serif; }
.bq2 p { margin: 0 0 8px; color: #fff; font-size: 18px; line-height: 1.55; }
.bq2 footer { color: #9aa4b8; font-size: 13.5px; }
.bq2 footer::before { content: "\2014  "; }

03. Testimonial Quote Card

TestimonialCard

A testimonial card with the quote, a person's avatar, name and role, and an optional star line. Use only real quotes from real customers with their permission; this demo uses obviously placeholder names you should replace.

View code
<figure class="bq3">
  <blockquote><p>"Setting up the shop took one afternoon. The order emails alone save me an hour a week."</p></blockquote>
  <figcaption><span class="av" aria-hidden="true">JD</span><span><b>Jane Doe</b><small>Owner, Example Bakery</small></span></figcaption>
</figure>
.bq3 { box-sizing: border-box; max-width: 100%; width: 380px; margin: 0; padding: 22px; border: 1px solid #e4e7ec; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px -16px rgba(16,24,40,.3); font-family: Inter, system-ui, sans-serif; }
.bq3 blockquote { margin: 0 0 16px; }
.bq3 p { margin: 0; color: #101828; font-size: 16px; line-height: 1.6; }
.bq3 figcaption { display: flex; align-items: center; gap: 12px; }
.av { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fde68a; color: #78350f; font-weight: 800; font-size: 13px; }
.bq3 b { display: block; color: #101828; font-size: 14px; }
.bq3 small { color: #5d6679; font-size: 13px; }

04. Highlighted Quote Block

GradientFeature

A bold quote block on a gradient background for landing pages, with the key phrase highlighted using a marker-style background on a mark element. The highlight is real semantics, so it is meaningful beyond its looks.

View code
<figure class="bq4">
  <blockquote><p>We cut our checkout time in half and <mark>doubled repeat orders</mark> in the first season.</p></blockquote>
  <figcaption>Owner of a placeholder shop, replace with a real quote</figcaption>
</figure>
.bq4 { box-sizing: border-box; max-width: 100%; width: 420px; margin: 0; padding: 26px; border-radius: 20px; background: linear-gradient(135deg, #312e81, #4c1d95); font-family: Inter, system-ui, sans-serif; }
.bq4 blockquote { margin: 0 0 14px; }
.bq4 p { margin: 0; color: #fff; font-size: 20px; font-weight: 700; line-height: 1.45; }
.bq4 mark { padding: 0 .15em; border-radius: 4px; background: linear-gradient(transparent 55%, #f59e0b 55%); color: #fff; }
.bq4 figcaption { color: #c4b5fd; font-size: 13.5px; }

05. Centred Large Quote

TypographyHero

A centred quote with very large type for a section break, flanked by thin decorative rules and a small attribution beneath. clamp() scales the quote with the screen width so it stays big on desktop and readable on phones.

View code
<figure class="bq5">
  <blockquote><p>Make it simple. Make it work. Then make it beautiful.</p></blockquote>
  <figcaption>Studio motto</figcaption>
</figure>
.bq5 { box-sizing: border-box; max-width: 100%; width: 480px; margin: 0; text-align: center; font-family: Georgia, "Times New Roman", serif; }
.bq5 blockquote { margin: 0; }
.bq5 p { margin: 0; color: #101828; font-size: clamp(22px, 5vw, 32px); font-style: italic; line-height: 1.3; }
.bq5 figcaption { display: flex; align-items: center; gap: 12px; margin-top: 16px; color: #475467; font: 600 12px Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.bq5 figcaption::before, .bq5 figcaption::after { content: ""; flex: 1; height: 1px; background: #d0d5dd; }

06. Social Post Quote

SocialCard

A quote styled like a social media post, with an avatar, display name, handle and date. It is an article with a time element for the date, and it avoids copying any platform's logo or exact interface.

View code
<article class="bq6">
  <header><span class="av" aria-hidden="true">RS</span><div><b>Rae Santos</b><small>@raemakes</small></div></header>
  <p>Finally moved my shop off spreadsheets. Inventory just updates itself now and I have my evenings back.</p>
  <time datetime="2026-09-21">21 Sep 2026</time>
</article>
.bq6 { box-sizing: border-box; max-width: 100%; width: 380px; padding: 18px; border: 1px solid #2c3346; border-radius: 16px; background: #12161f; color: #e7ebf5; font-family: Inter, system-ui, sans-serif; }
.bq6 header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.bq6 .av { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #38bdf8; color: #082f49; font-weight: 800; font-size: 14px; }
.bq6 b { display: block; font-size: 15px; }
.bq6 small { color: #9aa4b8; }
.bq6 p { margin: 0 0 10px; font-size: 15px; line-height: 1.55; }
.bq6 time { color: #9aa4b8; font-size: 13px; }

07. Sidebar Pull Quote

EditorialFloat

A pull quote floated beside article text, repeating a line from the article for emphasis, as magazines do. Because it duplicates text that is already in the article, it is marked aria-hidden so screen readers do not read it twice.

View code
<article class="art">
  <aside class="pq" aria-hidden="true">"Every piece leaves the studio wrapped by hand."</aside>
  <p>We started with one kiln and a market stall. Today the studio ships across the country, but the process has not changed. Every piece leaves the studio wrapped by hand, in recycled paper, with a note from whoever made it.</p>
</article>
.art { box-sizing: border-box; max-width: 100%; width: 440px; color: #344054; font: 15px/1.7 Inter, system-ui, sans-serif; }
.art p { margin: 0; }
.pq { float: right; width: 44%; margin: 4px 0 8px 16px; padding: 10px 0; border-top: 3px solid #b45309; border-bottom: 3px solid #b45309; color: #b45309; font: italic 700 17px/1.35 Georgia, serif; }
@media (max-width: 420px) { .pq { float: none; width: auto; margin: 0 0 12px; } }

About these CSS Blockquotes

figure, blockquote, figcaption

Wrap a quote and its source in <figure>, put the quote in <blockquote> and the source in <figcaption>. Use <cite> for the title of a work.

Decorative quote marks

Large quotation marks are decoration, so add them with a pseudo-element rather than typing them into the quote, which keeps the quoted text clean.

Repeated pull quotes

A magazine pull quote repeats text that is already in the article. Mark it aria-hidden="true" so screen reader users do not hear it twice.

Only real testimonials

Publish only genuine quotes from real people, with their permission. The names in these demos are placeholders to replace.

Frequently asked questions

Should quotes rotate automatically?

Avoid it. The quote strip uses Previous and Next buttons so people control the pace.

Which demo needs JavaScript?

Only the quote strip.

Can I add review structured data?

Only for genuine reviews that are visible on the page and follow search engine guidelines.