CSS content Property
Replaces or inserts generated content using ::before and ::after pseudo-elements
Syntax
content: normal | none | <string> | url() | attr() | counter() | open-quote | close-quote;Values
| Value | Description |
|---|---|
| normal | Default content |
| none | No generated content |
| "" | Empty string (common for decorative pseudo-elements) |
| attr() | Attribute value |
| counter() | Counter value |
| url() | External resource |
Example
.required::after {
content: " *";
color: #ef4444;
}
.external-link::after {
content: " ↗";
}Understanding CSS content
The CSS content property replaces or inserts generated content using ::before and ::after pseudo-elements. As part of the Misc module in CSS, it is one of the most commonly used properties for controlling the visual presentation of web pages.
You can set content to values such as normal, none, "", attr(), among others. Each value changes how the browser renders the affected element, giving you fine-grained control over your page layout and design. Choosing the right value depends on the specific design requirements of your project.
Common use cases for the content property include responsive web design, component-based layouts, and creating visually consistent interfaces across devices. It works closely with related properties like counter-increment, counter-reset, quotes to achieve complex styling effects. Understanding how these properties interact helps you write cleaner, more maintainable stylesheets.
Browser support for content is excellent across all modern browsers including Chrome, Firefox, Safari, and Edge. For older browsers, consider using fallback values or progressive enhancement strategies. The property can also be set dynamically via JavaScript using element.style.content or the CSS custom properties (variables) approach for theming.
Related Properties
counter-incrementIncreases or decreases the value of CSS counters on an element
counter-resetCreates or resets CSS counters to a given value
quotesSets how the browser renders quotation marks for the <q> element and content property
displayControls how an element generates display boxes in the document flow
Explore More CSS Properties
Browse our complete reference of 251 CSS properties with syntax, examples, and tips.