<rant>
This goes for everyone:
you never have to use a clear div.
Ever. I slap people that use clear divs. I go Jackie Chan on them. I eat them for breakfast. I hate clear divs, they are SO obviously unneeded, and yet all these "pros" use clear divs like there's no tomorrow. Even worse, people who use <hr /> because they think they are clever (haha, it's not a clear div, so technically it's fine!!!) No, you aren't clever. No, it's not fine.
</rant>
Now with that out of the way...
Just add "clear:both" onto the next element. Or if you are clearing to bring the background down, add "overflow:hidden" for FF, and for IE6 "height:1%" or "width:100%" or "width:123px" does the trick. You will get the hang of it pretty quickly. It's hard for me to explain to you how I know what to use - it's just second nature to me, I don't even think about it. Try in this order:
1) Add "clear:both" to the next element (still not working, go to step 2)
2) Add "overflow:hidden" to the existing elements (still not working, go to step 3)
3) Set a width on existing elements (Same as "overflow:hidden" for FF, but for IE6. Only used in certain circumstances. still not working, go to step 4)
4) Float 'em all
Because even I'm struggling to figure out WTF I wrote above if you show me your example I'll show you how to do it with no clear divs. I think that'll be easier for everyone!
http://www.robertnyman.com/2007/04/1...ues-explained/