- dale al body tambien un margen y padding de 0:
Código HTML:
body{margin:0;padding:0;}
- un div ocupa de alto lo que ocupa su contenido/margen/padding/borde, ese es su comportamiento normal. Hay varios hacks pueden lograr lo que quieres pero nunca los he usado.