Для центрирования я не понимаю, что с чрезмерно сложными решениями. bootstrap уже центрирует его по горизонтали для вас, поэтому вам не нужно возиться с этим. Мое решение просто устанавливает верхний край только с помощью jQuery.
$('#myModal').on('loaded.bs.modal', function() {
$(this).find('.modal-dialog').css({
'margin-top': function () {
return (($(window).outerHeight() / 2) - ($(this).outerHeight() / 2));
}
});
});
Я использовал событие loaded.bs.modal, поскольку я удаленно загружаю контент, и используя вызванное событие example.ba.modal расчет высоты должен быть неправильным. Вы можете, конечно, добавить событие для изменения размера окна, если вам нужно, чтобы это было восприимчивым.