While I deal with this and other design issues I had with my site in the article WordPress Tips and Tricks - Template Files, Styles, and Themes, the issue keeps coming up. So I decided we needed to address it specifically.
What to do when images start shoving other images round?
Generally, we try to avoid browser hacks, but there was one in particular we couldn't avoid. It causes floats within floats, especially those with images floated within floating containers, to fail to recognize the height of the floated image within the container and stair step or wrap itself around neighboring containers. Does that make sense?
Let's spell it out.
One of the biggest problems I had is with floats within floats. A division with a float inside scrambles your layout in FireFox, though it looks great in MSIE. The inside floats don't line up and when they reach the virtual "end" of the parent container, they overlap past the end and into the next container. The problem is that the float doesn't "clear" or stop at the end of the container where it should. It needs to be told when to stop with the "clear" function, but unfortunately different browsers need different instructions to accommodate those instructions.