Wow, thanks. Yeah, it's been a few years since I wrote a web page. Why did clear:both applied to lowerpart fix it?
–
user756201May 16 '11 at 20:09

You have way too many floats going all over the place, and nothing clearing them. The next block element after a floated div should always have clear:both in it, if you're not floating it, too.
–
ChuckMay 16 '11 at 20:12

You should really do a refresher, you'll just be pulling your hair out at the next hiccup. HTML and CSS are easy, but not when you're trying to feel your way through without a guide. Just my 2c.
–
ChuckMay 16 '11 at 20:34

This should not be relevant to the question or (in reality) have an affect on how the browser renders the page. (Although I think your sentiment is right, it's not a 'need')
–
edeverettMay 16 '11 at 19:24