The q
HTML element is used to represent an inline quote. Now regular quotes ("") can represent this just fine, surrounding the quote in the q
tag differs in that it explicitly indicates that the text is a quote, removing ambiguities that it could be emphasis, irony, etc.
In addition to explicitly stating that the text is a quote, it also provides a way to consistently style all quotes with minimal markup.
Usage
A quote
To use the q
element, surround the quote with the tag. Ensure you do not add quotes in addition to the q
tag or they will come through twice.
<p>Gandalf opened the doors to Moria by saying <q>Mellon</q>.</p>
A quote within a quote
It is also possible to specify a quote within a quote. The CSS quotes
property let's us define what the outer and inner quotes look like as explained in the styling section.
<p>She told me <q>Paul said this morning <q>don't take that one.</q></q></p>
Styling
This is the default CSS for the q
element.
q { display: inline; } q:before { content: open-quote; } q:after { content: close-quote; }
The pseudo-elements use the special values for content
; open-quote
and close-quote
. These are used in conjunction with the quotes
rule which can specify what quotes are used at varying levels of depth. This snippet will surround the first level of the q
elements on a page with double quotes and the second level with single quotes.
body { quotes: '"' '"' "'" "'"; }
Combined with the lang
pseudo-class, it's possible to use different quotes for different languages.
:lang(en) > q { quotes: '"' '"' "'" "'"; } :lang(ja) > q { quotes: '「' '」' '『' '』'; } :lang(fr) > q { quotes: '« ' ' »' '“' '”'; }
More advanced styling is possible, unicode characters can be specified using the '\xxxx'
syntax.
See the Pen The <q> element by Daniel Imms (@Tyriar) on CodePen
Further reading
Read more on the q
element from the following sources: