Modal: How It Works
Modal: How It Works
Modal: How It Works
Modal
Use Bootstrap’s JavaScript modal plugin to add dialogs to
your site for lightboxes, user notifications, or completely
custom content.
How it works
Before getting started with Bootstrap’s modal component, be sure to read the following as our menu
options have recently changed.
Modals are built with HTML, CSS, and JavaScript. They’re positioned over everything else in the
document and remove scroll from the <body> so that modal content scrolls instead.
Clicking on the modal “backdrop” will automatically close the modal.
Bootstrap only supports one modal window at a time. Nested modals aren’t supported as we
believe them to be poor user experiences.
Modals use position: fixed, which can sometimes be a bit particular about its rendering.
Whenever possible, place your modal HTML in a top-level position to avoid potential
interference from other elements. You’ll likely run into issues when nesting a .modal within
another fixed element.
Once again, due to position: fixed, there are some caveats with using modals on mobile
devices. See our browser support docs for details.
Due to how HTML5 defines its semantics, the autofocus HTML attribute has no effect in
Bootstrap modals. To achieve the same effect, use some custom JavaScript:
Copy
$('#myModal').on('shown.bs.modal', function () {
$('#myInput').trigger('focus')
})
Examples
Modal components
Below is a static modal example (meaning its position and display have been overridden). Included
are the modal header, modal body (required for padding), and modal footer (optional). We ask that
you include modal headers with dismiss actions whenever possible, or provide another explicit dismiss
action.
Modal title ×
https://getbootstrap.com/docs/4.1/components/modal/ 1/9
8/24/2018 Modal · Bootstrap
Copy
<div class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Modal body text goes here.</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>
Search...
</div>
</div>
Getting started
Layout
Live demo
Content
Toggle a working modal demo by clicking the button below. It will slide down and fade in from the
top of the page.
Components
Alerts
Buttons
Copy
Button group <!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-
Card
target="#exampleModal">
Carousel Launch demo modal
Collapse </button>
When modals become too long for the user’s viewport or device, they scroll independent of the page
itself. Try the demo below to see what we mean.
Copy
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-
target="#exampleModalLong">
Launch demo modal
</button>
Vertically centered
Add .modal-dialog-centered to .modal-dialog to vertically center the modal.
Copy
https://getbootstrap.com/docs/4.1/components/modal/ 3/9
8/24/2018 Modal · Bootstrap
Copy
<div class="modal-body">
<h5>Popover in a modal</h5>
<p>This <a href="#" role="button" class="btn btn-secondary popover-test"
title="Popover title" data-content="Popover body content is set in this
attribute.">button</a> triggers a popover on click.</p>
<hr>
<h5>Tooltips in a modal</h5>
<p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#"
class="tooltip-test" title="Tooltip">that link</a> have tooltips on hover.</p>
</div>
Copy
https://getbootstrap.com/docs/4.1/components/modal/ 4/9