Here's what happens:
<a> elements are indented, but by default they are display:inline , which add padding to the element but do not actually add width / height to it, so the menu does not expand.
To fix this, set display:block to the anchors:
http://jsfiddle.net/STSjm/216/
Also, you don't need a โcleanโ div, adding that this CSS should do the trick:
.menu { float:left; width:100%; }
http://jsfiddle.net/STSjm/218/
There are also several โclearfixโ CSS solutions to solve this problem without adding unnecessary unnecessary HTML markup.
source share