Show Output
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Center Align Bootstrap Modal Vertically</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script> <script> $(document).ready(function(){ function alignModal(){ var modalDialog = $(this).find(".modal-dialog"); // Applying the top margin on modal to align it vertically center modalDialog.css("margin-top", Math.max(0, ($(window).height() - modalDialog.height()) / 2)); } // Align modal when it is displayed $(".modal").on("shown.bs.modal", alignModal); // Align modal when user resize the window $(window).on("resize", function(){ $(".modal:visible").each(alignModal); }); }); </script> <style> .bs-example{ margin: 20px; } </style> </head> <body> <div class="bs-example"> <!-- Button HTML (to Trigger Modal) --> <a href="#myModal" class="btn btn-lg btn-primary" data-toggle="modal">Launch Demo Modal</a> <!-- Modal HTML --> <div id="myModal" class="modal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Confirmation</h5> <button type="button" class="close" data-dismiss="modal">×</button> </div> <div class="modal-body"> <p>Do you want to save changes you made to document before closing?</p> <p class="text-warning"><small>If you don't save, your changes will be lost.</small></p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> </div> </body> </html>