Я полагаю, что ваша проблема связана с этим определением CSS, вы позиционируете ВСЕ ваши элементы наведения на абсолютные значения и определяете верхние 0px.
div.hover {
height:150px;
position:absolute;
top:0px;
width:150px;
}
Простое изменение позиционирования на relative
решит проблему, с которой вы столкнулись, тогда вы могли бы вместо этого расположить свой «некоторый текст». или переосмыслите свою структуру, конечно.
div.hover {
height:150px;
position:relative;
top:0px;
width:150px;
}
Но именно для вашего вопроса виновным является вышеуказанный класс.