Bootstrap Q&A Logo
Bootstrap Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about Bootstrap here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

How can I open a second modal on top of a first without scroll issues?

Asked on Jun 15, 2025

Answer

In Bootstrap 5, you can open a second modal on top of the first by ensuring that the body's scroll position is maintained. This can be achieved by using JavaScript to handle the modals' z-index and scroll behavior.
<!-- BEGIN COPY / PASTE -->
        <!-- First Modal -->
        <div class="modal fade" id="firstModal" tabindex="-1" aria-labelledby="firstModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="firstModalLabel">First Modal</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        Content for the first modal.
                        <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#secondModal">Open Second Modal</button>
                    </div>
                </div>
            </div>
        </div>

        <!-- Second Modal -->
        <div class="modal fade" id="secondModal" tabindex="-1" aria-labelledby="secondModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="secondModalLabel">Second Modal</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        Content for the second modal.
                    </div>
                </div>
            </div>
        </div>

        <script>
            // Ensure body scroll is managed correctly
            var firstModal = document.getElementById('firstModal');
            var secondModal = document.getElementById('secondModal');

            firstModal.addEventListener('hidden.bs.modal', function () {
                if (secondModal.classList.contains('show')) {
                    document.body.classList.add('modal-open');
                }
            });
        </script>
        <!-- END COPY / PASTE -->
Additional Comment:
  • Ensure both modals have unique IDs and aria-labelledby attributes.
  • The second modal is triggered from within the first modal using a button with data-bs-toggle and data-bs-target attributes.
  • JavaScript listens for the 'hidden.bs.modal' event on the first modal to reapply the 'modal-open' class if the second modal is still open.
  • This prevents the body from scrolling when the first modal is closed while the second is still open.
✅ Answered with Bootstrap 5 best practices.
← Back to All Questions

Q&A Network
The Q&A Network
Bootstrap
Ask Questions / Get Answers about Bootstrap!
DevOps
Ask Questions / Get Answers about DevOps!
Robotics
Ask Questions / Get Answers about Robotics!
Animation
Ask Questions / Get Answers about Animation!
Networking
Ask Questions / Get Answers about Networking!
Web Development
Ask Questions / Get Answers about Web Development!
IoT
Ask Questions / Get Answers about IoT!
WordPress
Ask Questions / Get Answers about WordPress!
Web Languages
Ask Questions / Get Answers about Web Languages!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
Security
Ask Questions / Get Answers about Website Security!
Film Production
Ask Questions / Get Answers about Film Production!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
AI Video
Ask Questions / Get Answers about AI Video!
Quantum
Ask Questions / Get Answers about Quantum Computing!
Analytics
Ask Questions / Get Answers about Analytics!
VR & AR
Ask Questions / Get Answers about VR & AR!
AI Business
Ask Questions / Get Answers about AI Business!
AI Education
Ask Questions / Get Answers about AI Education!
Sound Design
Ask Questions / Get Answers about Sound Design!
AI Coding
Ask Questions / Get Answers about AI Coding!
Podcasting
Ask Questions / Get Answers about Podcasting!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
Photography
Ask Questions / Get Answers about Photography!
JavaScript
Ask Questions / Get Answers about JavaScript!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
CSS
Ask Questions / Get Answers about CSS!
Performance
Ask Questions / Get Answers about Web Vitals!
AI
Ask Questions / Get Answers about AI!
Tailwind
Ask Questions / Get Answers about Tailwind!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
3D Design
Ask Questions / Get Answers about 3D Design!
Illustration
Ask Questions / Get Answers about Illustration!
Data Science
Ask Questions / Get Answers about Data Science!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
AI Writing
Ask Questions / Get Answers about AI Writing!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
AI Images
Ask Questions / Get Answers about AI Images!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
Web Hosting
Ask Questions / Get Answers about Hosting!
Chatbots
Ask Questions / Get Answers about Chatbots!
AI Audio
Ask Questions / Get Answers about AI Audio!
HTML
Ask Questions / Get Answers about HTML!
AI Design
Ask Questions / Get Answers about AI Design!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
SEO
Ask Questions / Get Answers about SEO!
Video Editing
Ask Questions / Get Answers about Video Editing!
AI Marketing
Ask Questions / Get Answers about AI Marketing!