h2::before {
    content: "😃 ";
    font-size: 0.8em;
    vertical-align: 0.1em;
}
h2::after {
    content: " 😃";
    font-size: 0.8em;
    vertical-align: 0.1em;
}
p::before {
    content: "« ";
}
p::after {
    content: " »"
}
li::marker {
    content: "♥ ";
    font-size: 0.7em;
}
<h2>Examples of Using the content Property</h2>
<p>
    It is a property that specifies the content of pseudo-elements
    generated by the corresponding CSS pseudo-element selectors.
</p>
<ul>
    <li>::before</li>
    <li>::after</li>
    <li>::marker</li>
</ul>
Rendered Output
selector {
    content: /* value */
}
<a href="https://example.com/">Example Domain</a>
a::after {
    content: " (" attr(href) ")";
}
Rendered Output
<button type="button">Like!</button>
button::before {
    content: url(heart.jpg);
    margin-right: 0.5em;
}
Rendered Output
<h3>Introduction</h3>
<h3>Main Content</h3>
<h3>Conclusion</h3>
body {
    counter-reset: heading; /* Sets the counter name to 'heading'.
                               The initial value is 0. */
}
h3::before {
  counter-increment: heading; /* Increments the 'heading' counter by 1. */
  content: counter(heading); /* Displays the counter value. */
  margin-right: 0.2em;
}
Rendered Output