El margin-top se sale del header

No me aclaro con algunos caracoleos del margin :evil: Vamos a ver, tengo un header y dentro un párrafo. Obviamente si le pongo margin top al párrafo empezará a contar desde el borde superior del header, ¿no?

Pues no: me baja todo el header, a los efectos el párrafo está dentro pero el margin fuera [:???:][:???:][:???:] En cambio con un div no pasa. ¿Por qué ocurre esto?

Gracias, un saludo.
Prueba con padding-top:
<style>
#header p {
padding-top: 30px;
}
</style>

<div id="header">
<p>Texto</p>
</div>
Sí, sé que puedo meter padding, ¿pero por qué el margin de un elemento rebasa el borde superior del header? Aclaro que siempre la cantidad del margin es mucho menor que la altura del header.

Muchas gracias. un saludo.