Well I can't really tell how the thing is supposed to look, but I'll remind you of the box model problem.
The 'standard' for the box model is that the width you specify is the width for the content area. Then any margins, padding and borders are added onto the edges.
According to the standard the content inside the above div would take up 400px and then there would be an additional 20px (margin+border) on each side of the div.
/* A 400 pixel div */
Internet Explorer uses its own box model in which the specified width INCLUDES all margins, borders, padding etc. So the box above, according to IE will have a total width of 400px and a content area width of 380 (400px - margin - border). So if you wanted the box above to have a content area of 400 in IE you need to give the box a total width of 420px.
Hopefully this will help solve your spacing issues.