Sample Modal
Sample Modal
Sample Modal
Sample Modal
Sample Modal
<div class="modalOuter"> <div class="modal"> <div class="modalClose">✖</div> <div class="modalInner"> <p>Sample Modal</p> <p>Sample Modal</p> <p>Sample Modal</p> <p>Sample Modal</p> <p>Sample Modal</p> </div> </div> <div class="modalBg"></div> </div>
*, *::before, *::after { box-sizing: border-box; word-break: break-all; } html, body { height: 100%; } p { margin-bottom: 10rem; } .modalOuter { display: none; } .modal { position: fixed; top: 50%; left: 50%; z-index: 99999; transform: translate(-50%, -50%); width: 90%; max-width: 400px; height: 300px; border: 1px solid #000; box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); background: #fff; } .modalInner { overflow-y: scroll; height: inherit; padding: 1rem; } .modalBg { position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); } .modalClose { display: grid; place-content: center; position: absolute; top: -15px; right: -15px; width: 40px; height: 40px; border: 2px solid #000; border-radius: 50%; background: #fff; cursor: pointer; }
const buttons = document.querySelectorAll('.modalBtn') const modalOuter = document.querySelector('.modalOuter') const modal = document.querySelector('.modal') const modalClose = document.querySelectorAll('.modalClose, .modalBg') buttons.forEach(button => { button.addEventListener('click', () => { modalOuter.style.display = 'block' document.body.style.overflowY = 'hidden' }) }) modalClose.forEach(close => { close.addEventListener('click', () => { modalOuter.style.display = 'none' document.body.style.overflowY = '' }) })