The content CSS declaration is often maligned as violating SoC (separation of content) – IMO this is often perfectly acceptable – perhaps you want to add a graphical symbol for presentational purpose only – say, a checkmark entity before list items for all completed tasks.
While the content property does support markup, you need to use escaped unicode to render html entities:
.some-class:before { content: "\203A\00a0"; } /* Adds a right angle quote and a non-breaking space before each .some-class element.