Cách sạch nhất và đơn giản nhất để làm điều này là sử dụng Flexbox! Dưới đây sẽ sắp xếp theo chiều dọc một phương thức Bootstrap 3 ở giữa màn hình và rất đơn giản và đơn giản hơn tất cả các giải pháp khác được đăng ở đây:
body.modal-open .modal.in {
display: flex !important;
align-items: center;
}
LƯU Ý: Mặc dù đây là giải pháp đơn giản nhất, nhưng nó có thể không hoạt động với tất cả mọi người do hỗ trợ trình duyệt: http://caniuse.com/#feat=flexbox
Có vẻ như (bình thường) IE tụt lại phía sau. Trong trường hợp của tôi, tất cả các sản phẩm tôi phát triển cho bản thân hoặc cho khách hàng là IE10 +. (không có ý nghĩa kinh doanh khôn ngoan khi đầu tư thời gian phát triển hỗ trợ các phiên bản IE cũ hơn khi nó có thể được sử dụng để thực sự phát triển sản phẩm và đưa MVP ra nhanh hơn). Đây chắc chắn không phải là một thứ xa xỉ mà mọi người đều có.
Tôi đã thấy các trang web lớn hơn phát hiện xem flexbox có được hỗ trợ hay không và áp dụng một lớp cho phần thân của trang - nhưng mức độ kỹ thuật mặt trước đó khá mạnh mẽ và bạn vẫn cần dự phòng.
Tôi sẽ khuyến khích mọi người nắm lấy tương lai của web. Flexbox là tuyệt vời và bạn nên bắt đầu sử dụng nó nếu bạn có thể.
PS - Trang web này thực sự đã giúp tôi nắm bắt toàn bộ flexbox và áp dụng nó cho mọi trường hợp sử dụng: http://flexboxfroggy.com/
EDIT: Trong trường hợp có hai phương thức trên một trang, điều này sẽ áp dụng cho .modal.in
.modal.fade.in
là tốt