Ne faites pas l'erreur d'insérer des espaces. D'une part, les anciennes versions d'IE ne sauront pas de quoi il s'agit. En dehors de cela, il existe des méthodes plus propres en général.
Pour les retraits incolores, utilisez l'option text-indent
propriété.
p { text-indent: 1em; }
Démonstration de JSFiddle
Edit :
Si vous voulez que l'espace soit coloré, vous pouvez envisager d'ajouter une bordure épaisse à gauche de la première lettre. (Je dirais presque, mais pas tout à fait, "à la place", parce que l'indentation peut être un problème si vous utilisez les deux. Mais cela me semble sale de compter uniquement sur la bordure pour l'indentation). Vous pouvez spécifier la distance et la largeur de la couleur en utilisant la largeur de la marge gauche, de l'intercalaire et de la bordure de la première lettre.
p:first-letter { border-left: 1em solid red; }
Démo