I think your problem is because IE doesn't adhere to w3.org's specs. From w3.org:
If 'height' is 'auto', the height depends on whether the element has any block-level children. If it only has inline-level children, the height is from the top of the topmost line box to the bottom of the bottommost line box. If it has block-level children, it is the distance from the top border-edge of the topmost block-level child box, to the bottom border-edge of the bottommost block-level child box. Only children in the normal flow are taken into account (i.e., floating boxes and absolutely positioned boxes are ignored, and relatively positioned boxes are considered without their offset).
For example, you have
bigFrame that doesn't have its dimension specified. Normally, the height and width would be computed by the block-level elements (divs) inside it. But inside it you have
flagBox and
frame. The widths are specified for these but not the heights. So they'd get their heights by the divs they contain:
topLeft and
flag for
flagBox and
leftBar and
content for
frame. Well, all of these except for
topLeft are floats, so they're not used to compute the heights of their container divs.
topLeft only contains a 1x1 image so that means
bigFrame will have a width of 100% and a height of 1px. The floats will show but they won't be placed right because their containers are not being sized correctly. I believe to fix this you can just specify the dimensions of the container divs.
Also, Mozilla has a great tool to troubleshoot your web pages call DOM Inspector. It'll give you a tree of html tags and their css properties, where those properties are from and the computed css values. It'll also highlight on the page any tags you select in the tree so you can easily see how they're being laid out.
Kevin
A+, Network+, MCP