You need to add an overflow to
#message-container because that's the div that's
being pushed by the float not its children.
#message-box and #text-box don't interact with
their parents previous siblings.
So, remove all overflow: auto; and do this:
border: 1px solid red;
Here is a Fiddle:
PS: Cleaned the code so it's easier to read,
also I indented it according to your DOM so you
can see the structure. Keep that in mind, it helps