Figurati...i posizionamenti non sono semplicissimi da capire e IE ci "aggiunge" sempre qualcosa di suo per "dare lavoro" a noi webmaster!
Cmq, per quanto riguarda quello che hai provato a fare, c'era un errore "di concetto". Quando imposti un box posizionato in modo statico con position: relative (per usarlo ad es. come riferimento per i box position: absolute al suo interno), non devi assegnargli anche un offset. Se tu scrivi:
al box a cui questa regola si applica, tu hai assegnato un offset (anche se nullo)! Quindi quel box sarà estratto dal normale flusso del documento e avrà z-index più elevato. Di conseguenza, non influirà sul layout degli altri box. In pratica, assegnando un offset anche nullo, il box non è più posizionato in modo statico, ma diventa posizionato in modo relativo a tutti gli effetti.codice:position: relative; top: 0; left: 0;
Invece, se allo stesso box assegni una regola simile a questa:
otterrai il risultato che quel box continuerà ad essere posizionato in modo statico (e quindi influirà sul layout degli altri box), ma diventerà anche il riferimento di eventuali box position: absolute al suo interno.codice:position: relative;
Per dirla in altri termini, un box position: relative si comporta diversamente se alla sua regola di stile aggiungi o meno un offset (anche a 0) con top: YYpx e left: XXpx.
PS: IE ha alcuni bug in certe situazioni con i posizionamenti relativi (con offset specificato) dei box...ma è raro usare i posizionamenti relativi con offset per "spostare"
un box rispetto alla sua posizione normale all'interno del flusso.