table
и #dim
имеют высоту 2000px
и выше, поэтому, давая top:50%
для всплывающего окна, поместите его в центр родительского элемента. Снимите высоту table
и посмотрите, будет ли это работать (вероятно, сработает, потому что высота #dim
- это высота документа.).
Другой вариант - добавить фиксированное значение расстояния от вершины для .msgbox
. Например, в вашей CSS вы можете изменить .msgbox {top:50%;}
на .msgbox {top:200px;}