Typography
Utilities for controlling the content of the before and after pseudo-elements.
| Class | Styles |
|---|---|
content-[<value>] | content: <value>; |
content-(<custom-property>) | content: var(<custom-property>); |
content-none | content: none; |
Use the content-[<value>] syntax, along with the before and after variants, to set the contents of the ::before and ::after pseudo-elements:
<p>Higher resolution means more than just a better-quality image. With aRetina 6K display, <a class="text-blue-600 after:content-['_↗']" href="...">Pro Display XDR</a> gives you nearly 40 percent more screen real estate thana 5K display.</p>Use the content-[attr(<name>)] syntax to reference a value stored in an attribute using the attr() CSS function:
<p before="Hello World" class="before:content-[attr(before)] ..."> <!-- ... --></p>Since whitespace denotes the end of a class in HTML, replace any spaces in an arbitrary value with an underscore:
<p class="before:content-['Hello_World'] ..."></p>If you need to include an actual underscore, you can do this by escaping it with a backslash:
<p class="before:content-['Hello\_World']"></p>Use the content-(<custom-property>) syntax to control the contents of the ::before and ::after pseudo-elements using a CSS variable:
<p class="content-(--my-content)"></p>This is just a shorthand for content-[var(<custom-property>)] that adds the var() function for you automatically.
Prefix a content utility with a breakpoint variant like md: to only apply the utility at medium screen sizes and above:
<p class="before:content-['Mobile'] md:before:content-['Desktop'] ..."></p>Learn more about using variants in the variants documentation.