css my body have margin top
You probably have an element with margin-top as one of the first children of body.
Read up on collapsing margins.
Purely as a simple test, set padding: 1px on body. If the gap goes away, I'm right.
/*
from stackoverflow.com ->
css & html5: why does my body have a spacing at the top
*/