Второй перекрывает первый, так как "флоаченые" выпадают из потока вывода.
Третий уехал т.к. второй элемент блочный (display: block) и занимает всю ширину. (Первый как мы помним выпал из потока, если бы не выпал то тоже бы выталкивал)
display: inline-block; для всех трех блоков должен исправить положение.
https://jsfiddle.net/ekhjrpr6/