The clearfix
works to keep the space of floated elements.
Since you already have other elements like <p>
tags without float
property they reserve the space.
Check here http://jsfiddle.net/NJEa5/2/
I remove the last ul element, then the floated element does not occupy space within the container.
But with the clearfix
it keeps the space http://jsfiddle.net/NJEa5/3/
Then if you want to preserve those elements on the left even with short p
tags you can clear the previous float : http://jsfiddle.net/NJEa5/10/
h2 {
float: left;
clear:left;
}