Los pseudoelementos CSS :: before y :: after le permiten insertar «contenido» antes y después de cualquier elemento no reemplazado (por ejemplo, funcionan en un <div> pero no en un <input>).
Esto efectivamente le permite mostrar algo en una página web que podría no estar presente en el contenido HTML. No debe usarlo para contenido real porque no es muy accesible, ya que ni siquiera puede seleccionar y copiar el texto insertado en la página de esta manera; es solo contenido decorativo.
Link: https://css-tricks.com/7-practical-uses-for-the-before-and-after-pseudo-elements-in-css/