The <q>
tag in HTML is used to define short, inline quotations within your text. Unlike block-level quotes (<blockquote>
), the <q>
element is designed for brief quotations that appear inside regular paragraphs or sentences.
📌 What Is the <q>
Tag?
- The
<q>
tag stands for “quote.” - It is an inline element, meaning it does not break the flow of text.
- Browsers automatically add quotation marks around the content inside
<q>
. - It’s useful for semantic HTML, helping assistive technologies identify quotations.
✅ Basic Syntax
<p>As Einstein once said, <q>Imagination is more important than knowledge.</q></p>
Browser output:
As Einstein once said, “Imagination is more important than knowledge.”
🧩 Structure Diagram
<p>
Intro text
<q>short quote</q>
continuation
</p>
🧪 Example 1: Inline Quote in Paragraph
<p>The teacher said, <q>Please submit your homework before Friday.</q></p>
This renders with quotation marks and keeps the quote inline with the rest of the text.
💡 When to Use <q>
vs <blockquote>
Tag | Usage | Block/Inline |
---|---|---|
<q> | Short, inline quotes | Inline |
<blockquote> | Longer or standalone quotations | Block-level |
🧪 Example 2: Nested Quote
<p>She said, <q>My friend told me, <q>Always trust your instincts.</q></q></p>
Browsers should render nested quotes using alternate quote marks (depending on locale), like:
She said, “My friend told me, ‘Always trust your instincts.’”
🌍 Internationalization (i18n)
Quotation styles vary by language. In English, it’s usually “double quotes”; in French or German, different symbols may be used. Use CSS or lang
attributes to help render quotes correctly:
<p lang="fr"><q>Bonjour tout le monde</q></p>
🎨 Styling Quotation Marks with CSS
By default, browsers use locale-specific quotation marks. You can override or customize them using quotes
in CSS:
q {
quotes: "«" "»" "‹" "›";
}
Or completely hide the quotes and add your own style:
q {
quotes: none;
}
q::before {
content: "❝";
}
q::after {
content: "❞";
}
⚠️ Best Practices
- Don’t manually type quotation marks (
"
) — let the browser handle it via<q>
. - Don’t use
<q>
for block quotes — use<blockquote>
instead. - Avoid using
<q>
when the quote is not real or is sarcastic/fake —<span>
is more appropriate there.
🏁 Summary
The <q>
tag semantically marks inline quotations in your HTML, automatically adding quotation marks and enhancing accessibility. It is ideal for short quotes within a sentence or paragraph and helps structure your content cleanly and meaningfully.