Modal Backdrop

Bootstrap 5 Backdrop

Backdrop options for a responsive popup with Bootstrap 5. Prevent close on click outside with static backdrop, remove backdrop, enable interactivity & more.


Basic example

Default modal backdrop is a delicate shadow overlaying the rest of the page design.

        
            
        <!-- Button trigger modal -->
        <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-modal-init data-mdb-target="#exampleModal">
          Launch demo modal
        </button>

        <!-- Modal -->
        <div class="modal top fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel"
          aria-hidden="true" data-mdb-backdrop="true" data-mdb-keyboard="true">
          <div class="modal-dialog  ">
            <div class="modal-content">
              <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
              </div>
              <div class="modal-body">...</div>
              <div class="modal-footer">
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-secondary" data-mdb-dismiss="modal">
                  Close
                </button>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary">Save changes</button>
              </div>
            </div>
          </div>
        </div>
        
        
    

Static Backdrop

If you would like to prevent the modal from closing on a click outside of the modal boundries, you can set the data-mdb-backdrop attribute to static.

        
            
        <!-- Button trigger modal -->
        <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-modal-init data-mdb-target="#exampleModal2">
          Launch demo modal
        </button>

        <!-- Modal -->
        <div class="modal top fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModal2Label"
          aria-hidden="true" data-mdb-backdrop="static" data-mdb-keyboard="true">
          <div class="modal-dialog  ">
            <div class="modal-content">
              <div class="modal-header">
                <h5 class="modal-title" id="exampleModal2Label">Modal title</h5>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
              </div>
              <div class="modal-body">...</div>
              <div class="modal-footer">
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-secondary" data-mdb-dismiss="modal">
                  Close
                </button>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary">Save changes</button>
              </div>
            </div>
          </div>
        </div>
        
        
    

No Backdrop

If you would like to get rid of the backdrop, you can set the data-mdb-backdrop attribute to false.

        
            
        <!-- Button trigger modal -->
        <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-modal-init data-mdb-target="#exampleModal3">
          Launch demo modal
        </button>

        <!-- Modal -->
        <div class="modal top fade" id="exampleModal3" tabindex="-1" aria-labelledby="exampleModal3Label"
          aria-hidden="true" data-mdb-backdrop="false" data-mdb-keyboard="true">
          <div class="modal-dialog  ">
            <div class="modal-content">
              <div class="modal-header">
                <h5 class="modal-title" id="exampleModal3Label">Modal title</h5>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
              </div>
              <div class="modal-body">...</div>
              <div class="modal-footer">
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-secondary" data-mdb-dismiss="modal">
                  Close
                </button>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary">Save changes</button>
              </div>
            </div>
          </div>
        </div>
        
        
    

Remove backdrop (with interactivity)

This type of modal does not block any interaction on the page. Simply set data-mdb-modal-non-invasive to true.

        
            
        <!-- Button trigger modal -->
        <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-modal-init
          data-mdb-target="#exampleNonInvasiveModal">
          Launch demo modal
        </button>

        <!-- Modal -->
        <div class="modal fade" id="exampleNonInvasiveModal" tabindex="-1" role="dialog"
          aria-labelledby="exampleNonInvasiveModalLabel" aria-hidden="true" data-mdb-modal-non-invasive="true">
          <div class="modal-dialog" role="document">
            <div class="modal-content">
              <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
              </div>
              <div class="modal-body">...</div>
              <div class="modal-footer">
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-secondary" data-mdb-dismiss="modal">
                  Close
                </button>
                <button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary">Save changes</button>
              </div>
            </div>
          </div>
        </div>