Bootstrap JS Modal
Modal CSS Classes
For a tutorial about Modals, read our Bootstrap Modal Tutorial.
Class | Description | Example |
---|---|---|
.modal |
Creates a modal | Try it |
.modal-content |
Styles the modal properly with border, background-color, etc. Use this class to add the modal's header, body, and footer | Try it |
.modal-dialog-centered |
Centers the modal vertically and horizontally within the page | Try it |
.modal-dialog-scrollable |
Adds a scrollbar inside the modal | Try it |
.modal-header |
Defines the style for the header of the modal | Try it |
.modal-body |
Defines the style for the body of the modal | Try it |
.modal-footer |
Defines the style for the footer in the modal. Note: This area is right-aligned by default. To change this, add the justify-content-start or justify-content-center together with the .modal-footer class | Try it |
.modal-sm |
Specifies a small modal | Try it |
.modal-lg |
Specifies a large modal | Try it |
.fade |
Adds an animation/transition effect which fades the modal in and out | Try it |
Trigger the Modal Via data-* Attributes
Add data-toggle="modal"
and data-target="#modalID"
to
any element.
Note: For <a>
elements, omit data-target
, and use
href="#modalID"
instead:
Example
<!-- Buttons -->
<button type="button" data-toggle="modal" data-target="#myModal">Open Modal</button>
<!-- Links -->
<a data-toggle="modal" href="#myModal">Open Modal</a>
<!-- Other elements -->
<p data-toggle="modal" data-target="#myModal">Open Modal</p>
Try it Yourself »
Trigger Via JavaScript
Enable manually with:
Modal Options
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-backdrop="".
Name | Type | Default | Description | Try it |
---|---|---|---|---|
backdrop | boolean or the string "static" | true |
Specifies whether the modal should have a dark overlay:
If you specify the value "static", it is not possible to close the modal when clicking outside of it |
Using JS Using data |
keyboard | boolean | true | Specifies whether the modal can be closed with the escape key (Esc):
|
Using JS Using data |
show | boolean | true | Specifies whether to show the modal when initialized | Using JS Using data |
Modal Methods
The following table lists all available modal methods.
Method | Description | Try it |
---|---|---|
.modal(options) | Activates the content as a modal. See options above for valid values | Try it |
.modal("toggle") | Toggles the modal | Try it |
.modal("show") | Opens the modal | Try it |
.modal("hide") | Hides the modal | Try it |
Modal Events
The following table lists all available modal events.
Event | Description | Try it |
---|---|---|
show.bs.modal | Occurs when the modal is about to be shown | Try it |
shown.bs.modal | Occurs when the modal is fully shown (after CSS transitions have completed) | Try it |
hide.bs.modal | Occurs when the modal is about to be hidden | Try it |
hidden.bs.modal | Occurs when the modal is fully hidden (after CSS transitions have completed) | Try it |