Bootstrap 5 Modal

Bootstrap 5 Modal Guide

A modal is a pop-up window that appears on top of the main content. Bootstrap 5 provides a simple way to create responsive, customizable modals without additional JavaScript.


1. Basic Bootstrap 5 Modal

To create a modal, use the .modal class along with Bootstrap's built-in attributes for toggling.

Example: Basic Modal

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Bootstrap 5 Modal</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>

<div class="container mt-5">
    <h2>Bootstrap 5 Modal Example</h2>
    <button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#myModal">Open Modal</button>
</div>

<!-- Modal Structure -->
<div class="modal fade" id="myModal">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Modal Title</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                This is a Bootstrap 5 modal popup.
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
    </div>
</div>

</body>
</html>

How It Works:

  • Button: data-bs-toggle="modal" and data-bs-target="#myModal" open the modal.
  • Modal Structure:
    • .modal - Main container
    • .modal-dialog - Defines the dialog box
    • .modal-content - Contains header, body, and footer
    • .modal-header - Title and close button
    • .modal-body - Modal content
    • .modal-footer - Buttons

2. Centered Modal

To center a modal, add the .modal-dialog-centered class.

<div class="modal fade" id="centeredModal">
    <div class="modal-dialog modal-dialog-centered">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Centered Modal</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                This modal is vertically centered.
            </div>
        </div>
    </div>
</div>

3. Large, Small, and Extra-Large Modals

Bootstrap provides .modal-lg, .modal-sm, and .modal-xl to control modal size.

<div class="modal fade" id="largeModal">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Large Modal</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                This is a large modal.
            </div>
        </div>
    </div>
</div>

4. Scrolling Modal

For long content, add .modal-dialog-scrollable to enable scrolling inside the modal.

<div class="modal fade" id="scrollingModal">
    <div class="modal-dialog modal-dialog-scrollable">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Scrollable Modal</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                <p>Long content goes here...</p>
                <p>More content...</p>
                <p>Even more content...</p>
            </div>
        </div>
    </div>
</div>

5. Full-Screen Modal

Use .modal-fullscreen for a full-screen modal.

<div class="modal fade" id="fullscreenModal">
    <div class="modal-dialog modal-fullscreen">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Full-Screen Modal</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                This modal covers the entire screen.
            </div>
        </div>
    </div>
</div>

6. Modal with Form

You can include forms inside modals for login or contact purposes.

<div class="modal fade" id="formModal">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Login Form</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                <form>
                    <div class="mb-3">
                        <label class="form-label">Email:</label>
                        <input type="email" class="form-control" placeholder="Enter your email">
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Password:</label>
                        <input type="password" class="form-control" placeholder="Enter password">
                    </div>
                    <button type="submit" class="btn btn-primary">Login</button>
                </form>
            </div>
        </div>
    </div>
</div>

7. Manually Open & Close Modal (JavaScript)

You can control modals using JavaScript:

<button class="btn btn-info" onclick="openModal()">Open Modal</button>

<div class="modal fade" id="jsModal">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">JavaScript Modal</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                This modal is opened using JavaScript.
            </div>
        </div>
    </div>
</div>

<script>
    function openModal() {
        var myModal = new bootstrap.Modal(document.getElementById('jsModal'));
        myModal.show();
    }
</script>

8. Backdrop & Keyboard Control

You can control modal behavior using data attributes or JavaScript:

  • Disable backdrop click: data-bs-backdrop="static"
  • Disable escape key: data-bs-keyboard="false"
<div class="modal fade" id="customModal" data-bs-backdrop="static" data-bs-keyboard="false">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Non-dismissible Modal</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                This modal cannot be closed by clicking outside or pressing ESC.
            </div>
        </div>
    </div>
</div>

Conclusion

Bootstrap 5 Modals are highly customizable and easy to implement. You can use them for alerts, login forms, full-screen overlays, and more.

Key Features Covered:

✔️ Basic modal
✔️ Centered modal
✔️ Different modal sizes
✔️ Scrollable & full-screen modal
✔️ Modals with forms
✔️ JavaScript-controlled modals
✔️ Non-dismissible modals

Let me know if you need more examples or advanced customizations!

Share on Google Plus

About It E Research

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment