Удалите float: left
из ваших ярлыков, добавьте float: left
в ваше div.menu и удалите width: 271px
из вашего div.menu.
Причина, по которой теперь происходит разрыв при удалении ширины из div.menu, заключается в том, что метки перемещаются влево и не очищают ввод над ними.
Edit:
Другой вариант, если вы хотите оставить надписи плавающими влево, это добавить правило очистки к абзацам в меню:
div.menu p { clear: both; }