ho questo codice

codice:
<div id="header">
<h1>Titolo</h1>
</div>

div#header{
	height:51px;
	width:750px;
	background: #FD9800 url(i/top.gif) center top no-repeat;	
	text-align:left;	
} 

div#header h1	{
	text-indent: -9999px;
	margin: 4px 0 0 2px;
	padding: 0;
	border: 0;
	}
	
div#header h1 a:link, div#header h1 a:visited	{
	display: block;	
	width: 96px;
	height: 39px;
	background: #373737 url(i/logo.gif) top left no-repeat;
	margin:0;
	padding: 0;
	border: 0;
	text-decoration: none;
	}
qualcuno sa perchè con firefox il background dell'header inizia solo dove inizia l'h1 (quindi con 4px di margine dall'alto) e con explorer stranamente funziona?

ho sempre risolto questo problema dando il padding invece che il margin all'elemente all'interno del contenitore(in questo caso l'header è contenitore), ma vorrei capire se c'è invece una spiegazione o una soluzione migliore.

grazie