Pseudo
Pseudo Elements ::before ::after
display: block
div
display: inline (default)
div
<div>
<style>
div {
background: pink;
}
div, ::before, ::after {
padding: .75rem;
}
.block::before .block::after {
display: block;
}
div::before {
content: "before";
background: var(--lavender);
}
div::after {
content: "after";
background: var(--sage);
rotate: -3deg;
translate: 0 -1.1rem;
}
</style>
document order
<div>
::before
"div"
::after
</div>
equivalent element rendering
<div>
div
<before>before</before>
<after>after</after>
</div>
stacking order
# z-index
after: 2
before: 1
div: 0