Usa questo, i tag che hai usato di default non hanno margine pari a zero, pertanto ti fanno quello scherzetto.
Inoltre, se fossi in te, non metterei dei tagcodice:p { margin:0; padding:0; } a { margin:0; padding:0; } h1 { margin:0; padding:0; }
intorno ai link, non ne vedo il motivo, se vuoi gli elementi disposti come block, usa una lista, oppure aggiungi questo
Ciaocodice:div#menu a { display: block; }