I have a dashed bottom border for the parent div, and it does not look good if the text has a lower height than the image, not to talk about elements below it.
It is crucial that the image is placed within a div.
Also read the CSS faq on floats and clearing to understand the issues here as it is a basic concept that need to be understood or it will trip you up in the future.
And then make your desire div height at 100%
You never want to do that because a) if it works it will limit the element to a height that can’t be exceeded and b) in most cases (*) it won’t work because height for static/relative elements has to be based on a known height of a parent and not on content height.
(* It will however cause IE to clear the floats because it will give the element “haslayout” which makes it behave much like "overflow other than visible does in other browsers and will contain its floated children.)