Quando scrivi un foglio di stile devi sempre azzerare i margini e il padding, perchè alcuni interpreti settano di default queste 2 proprietà con dei valori che possono cambiare a seconda del browser.
Gli elementi "h" hanno di default dei margini.
Hai diverse possibilità:
codice:
html, body {
margin:0;
padding:0;
}
h1, h2....{
margin:0;
}
Oppure (soluzione che preferisco), imposti il selettore universale all'inizio del codice e azzeri i margini in tutti gli elementi.
codice:
* {
margin:0;
padding:0;
}
In quest'ultimo caso ti metti in una condizione di parità in tutti i browser. Tuttavia questa soluzione sarebbe meglio utilizzarla quando si comincia a scrivere il css, inserirla a codice iniziato potrebbe dare delle brutte sorprese.