Используйте этот простой скрипт, который центрирует модальные файлы.
Если вы хотите, вы можете установить собственный класс (например: .modal.modal-vcenter вместо .modal), чтобы ограничить функциональность только некоторыми модалами .
var modalVerticalCenterClass = ".modal";
function centerModals($element) {
var $modals;
if ($element.length) {
$modals = $element;
} else {
$modals = $(modalVerticalCenterClass + ':visible');
}
$modals.each( function(i) {
var $clone = $(this).clone().css('display', 'block').appendTo('body');
var top = Math.round(($clone.height() - $clone.find('.modal-content').height()) / 2);
top = top > 0 ? top : 0;
$clone.remove();
$(this).find('.modal-content').css("margin-top", top);
});
}
$(modalVerticalCenterClass).on('show.bs.modal', function(e) {
centerModals($(this));
});
$(window).on('resize', centerModals);
Также добавьте это исправление CSS для горизонтального интервала модальности; мы показываем свиток по модалам, прокрутки тела автоматически скрываются с помощью Bootstrap:
/* scroll fixes */
.modal-open .modal {
padding-left: 0px !important;
padding-right: 0px !important;
overflow-y: scroll;
}