Prisma says::before and ::after inject generated content into an element — icons, labels, decorations.
These pseudo-elements create a child at the start (::before) or end (::after) of an element. They require a content property (even content:"") to appear. Use them for decorative icons, quotation marks, badges, clearfixes, and counters — without polluting the HTML.
Power-ups you unlock
::before / ::after add generated children
content property is required (even "")
Decorative only — not reliably read by SR
Icons, quotes, badges, clearfix, counters
Jank the Janitor attacks — common mistakes
Forgetting content → nothing renders
Putting essential text in generated content
Expecting them on void elements like <img>
Boss battleAdd a → arrow after every external link with a::after { content:" ↗" }.