Problem #1 is solved. A web-developer friend pointed out that adding this before closing the blue div would solve the problem:
Code:
<div style="clear: both;"></div>
The second problem he said was a padding issue. I'm still a bit unsure on that one.

EDIT: Problem #2 solved by trial and error. It's not a padding issue. Instead, turning off the borders on the red and green divs fixes the problem.

I guess that about wraps that up. Thanks for the suggestions.
I'll leave this open if anyone has anything to add.