Я подозреваю, что проблема может заключаться в том, что вы используете несколько CSS-механизмов для управления одним и тем же аспектом при отображении тегов li
(display, position / left и float). Попробуйте уменьшить его до одного (или более, если необходимо) и посмотрите, приносит ли это некоторую последовательность.
Смотрите это jsFiddle