Найчистіший і найпростіший спосіб зробити це - використовувати Flexbox! Далі буде вертикально вирівнювати модаль Bootstrap 3 в центрі екрана і він набагато чистіший і простіший за всі інші рішення, розміщені тут:
body.modal-open .modal.in {
display: flex !important;
align-items: center;
}
ПРИМІТКА. Хоча це найпростіше рішення, воно може працювати не для всіх завдяки підтримці браузера: http://caniuse.com/#feat=flexbox
Схоже, що (як правило) IE відстає. У моєму випадку всі продукти, які я розробляю для себе або для клієнтів, є IE10 +. (Не має сенсу для бізнесу розумно вкладати час на розробку, підтримуючи старіші версії IE, коли це можна було б використати для розробки продукту та швидшого виходу MVP). Це, звичайно, не розкіш, яку мають усі.
Я бачив, як більші веб-сайти визначають, підтримується чи ні флексбокс, і застосовують клас до основної частини сторінки - але цей рівень фронтальної інженерії є досить надійним, і вам все одно знадобиться резервний запас.
Я б закликав людей сприймати майбутнє Інтернету. Flexbox є приголомшливим, і ви можете почати використовувати його, якщо зможете.
PS - Цей веб-сайт справді допоміг мені зрозуміти флексбокс у цілому та застосувати його до будь-якого випадку використання: http://flexboxfroggy.com/
EDIT: У разі двох модалів на одній сторінці це має стосуватися .modal.in
.modal.fade.in
також