Don't fart around with inserting spaces. For one, older versions of IE won't know what you're talking about. Besides that, though, there are cleaner ways in general.
For colorless indents, use the text-indent
property.
p { text-indent: 1em; }
JSFiddle demo
If you want the space to be colored, you might consider adding a thick left border to the first letter. (I'd almost-but-not-quite say "instead", because the indent can be an issue if you use both. But it feels dirty to me to rely solely on the border to indent.) You can specify how far away, and how wide, the color is using the first letter's left margin/padding/border width.
p:first-letter { border-left: 1em solid red; }
Demo
element:before { content:"[a kind of space]"; background: mycolor;}
as well. All ways I wanted to know a way to add spaces, kinda fun! – Allayp:first-letter { border-left: 1ex solid mycolor; }
. – Kingsbury