il primo passo verso un sito crossbrowser è la semantica. inoltre, in questo modo, riesci a gestire molto meglio anche le formattazioni. quindi, se posso, ti consiglio di ricominciare scrivendo codice standard e usando solo i fogli di stile per personalizzare le pagine. questo perchè ne avrai altri, di problemi.. e con un codice cosi' sarà difficile arrivare ad un buon risultato (e sarà difficile anche per noi darti una mano).
in ogni caso, ogni browser ha qualche stile di default. quindi il margin ed il padding non dipendono solo dai valori da te assegnati, ma anche da quelli preimpostati.
personalmente preferisco eliminare margin e padding per tutti gli elementi della pagina e assegnarli successivamente, per avere la stessa visualizzazione su tutti i browser e poter controllare più facilmente il foglio di stile dedicato ad IE.
codice:
*
{
margin:0;
padding:0;
}
ovviamente, se lo fai adesso, l'aspetto della tua pagina cambierà quindi potresti applicare le due proprietà soltanto ai tag che mancano nelle altre pagine, e che forse ti creano i problemi.
esempio (ovviamente i tag saranno ben diversi):
codice:
ul, li, h1, h2, p
{
margin:0;
padding:0;
}
ripeto, la cosa migliore da fare e lavorare standard, stando attenti alla semantica. cosi sei a posto con i browser standard, crei qualche CSS per IE e
mi dispiace ma non posso dirti altro. quando ci sono le tabelle m'incasino e non ci capisco più niente.