::before {
    content: /* value โ†’ specifies the content of the generated child pseudo-element: Required */;
    /* specifies properties to style the generated child pseudo-element: Optional */
}
p::before {
    content: "๐Ÿ‘‰";
    vertical-align: 0.2em;
    margin-right: 0.3em;
}
<p>
    This is the content of the paragraph.
</p>
Rendered Output
<p>
    <before>๐Ÿ‘‰</before> <!-- There is no <before> tag;
                             this is a virtual markup for explanatory purposes. -->
    This is the content of the paragraph.
</p>
button::before {
    content: "๐Ÿงก";
}
<button type="button"></button>
Rendered Output
<button type="button" aria-label="Like!"></button>
Rendered Output
h2::before {
    content: ""; /* <= Note this part */
    display: block;
    width: 2em;
    height: 0.3em;
    background-color: #000;
    margin-bottom: 0.3em;
}
<h2>Pseudo-Element Selector</h2>
input::before {
    content: "๐Ÿงก";
}
img::before {
    content: "๐Ÿงก";
}
hr::before {
    content: "๐Ÿงก";
}
<nav>
    <ul>
        <li><a href="">View Products</a></li>
        <li><a href="">Privacy Policy</a></li>
        <li><a href="">Customer Service</a></li>
    </ul>
</nav>
ul {
    display: flex;
    margin: 0;
    padding: 0;
}
li {
    list-style: none;
}
a {
    color: inherit;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
li:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 0.8em;
    background-color: rgba(0, 0, 0, .6);
    margin: 0 1.1em;
    vertical-align: -0.06em;
    white-space: nowrap;
}
Rendered Output
<a href="">Back</a>
a {
    color: inherit;
    text-decoration: none;
    padding: 0.5em 1em;
    background-color: #fff;
    border: 1px solid #777;
    border-radius: 0.5em;
    display: inline-flex;
    align-items: center;
}
a::before {
    content: "";
    display: inline-flex;
    width: 0.5em;
    height: 0.5em;
    border-left: 1px solid black;
    border-bottom: 1px solid black;
    transform: rotateZ(45deg);
    margin-right: 0.2em;
}
Rendered Output