En algunos casos puede que tenga un encabezado o algunos otros elementos de tipos antes de la <p>
Por ejemplo:
<div>
<h1>My Great Title</h1>
<p>
In my younger years I was a great man, but all that changed when I saw...
</p>
<p>
I struck him for shaming my name, my family, my life. It was a shameful...
</p>
</div>
lo tanto, en este caso, p:first-child
no va a funcionar por alguna razón, al menos no en Chrome o Safari.
Así que en vez querrá utilizar esto:
div p:first-of-type:first-letter{
/* add your awesome code here */
}
Gracias por su tiempo.
first-of-type
Gracias por esto. : primero de tipo es definitivamente mejor en una situación como esta. –