Forum Moderators: not2easy
Here's the HTML:
<div id="[...]">[...]</div>
<h3>[...]</h3>
<div id="[...]"><img src="[...]" width="100" height="100" class="floatLeft" />Bunch of text.</div>
<div id="[...]"><img src="[...]" width="100" height="100" class="floatLeft" />Bunch of text.</div>
<div id="[...]"><img src="[...]" width="100" height="100" class="floatLeft" />Bunch of text.</div>
And here's the CSS for "floatLeft":
img.floatLeft {float: left; margin-right: 7px; margin-bottom: 4px;}
Floats can be tricky to figure especially without a doctype and css for elements that may be affecting how they are drawn. On the code provided I cannot reproduce the issue because without a width on the container divs the images and text just float left across the page - without any overlapping.
Looking at your code, one quick fix should be to apply
clear:left to the div surrounding the image and the text. This should make sure each div "drops" down below (clears) the preceding one before beginning to be drawn.
"clear:left," added to the div in my code above, which controls the text, did get the three graphics and their text to line up properly -- but ... But it also pushed the entire center column down below the two outside (left and right) columns. So: one problem solved, new one spawned. :)
FYI The layout is based upon a Dreamweaver (CS3) three column liquid template ("thrColLiqHdr"). Here's the doctype DW generated: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
(If those individual ids are not required, change them to a class so it can be used more than once)
One fix could be to wrap the image divs in a "wrapper" div. To avoid an extra div solely to create a wrapper, try a height on the image divs.