
A minimal JavaScript library that enables you to show a responsive modal window on the html page.
How to use it:
Create the modal window that is hidden on page load.
<div class="modal-wrap" id="modal-demo">
<div class="modal-container">
<div class="modal-header">
<h2 class="modal-title">Modal Title</h2>
<button class="close-modal">×</button>
</div>
<div class="modal-content">
<h3>Modal inner heading tag H3</h3>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Molestiae itaque quaerat animi praesentium accusamus
expedita rerum unde ipsum nihil est officia, quisquam sunt reiciendis, omnis placeat distinctio similique
illum minus.</p>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Molestiae itaque quaerat animi praesentium accusamus
expedita rerum unde ipsum nihil est officia, quisquam sunt reiciendis, omnis placeat distinctio similique
illum minus.</p>
</div>
<div class="modal-footer">
<p>Modal footer</p>
</div>
</div>
</div>The CSS styles for the modal.
.modal-wrap {
background: rgba(0, 0, 0, 0.7);
height: 100%;
left: 0;
opacity: 0;
overflow: auto;
position: fixed;
top: 0;
visibility: hidden;
width: 100%;
z-index: 10;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
.modal-wrap.visible {
opacity: 1;
visibility: visible;
}
.modal-wrap .modal-container {
background: #fff;
margin: 1em;
max-width: 100%;
width: 600px;
z-index: 100;
}
.modal-wrap .modal-container .modal-header, .modal-wrap .modal-container .modal-footer {
background: #000;
float: left;
width: 100%;
}
.modal-wrap .modal-header .modal-title {
color: #fff;
float: left;
font-size: 2em;
margin: 0;
padding: 15px 30px;
}
.modal-wrap .modal-header .close-modal {
background: transparent;
border: 0;
color: #fff;
cursor: pointer;
float: right;
font-size: 40px;
opacity: 0.4;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
.modal-wrap .modal-header .close-modal:hover { opacity: 1; }
.modal-wrap .modal-content {
float: left;
margin: 0;
padding: 15px 30px;
width: 100%;
}
.modal-wrap .modal-content p:last-child { margin-bottom: 0; }
.modal-wrap .modal-footer { text-align: center; }
.modal-wrap .modal-footer p {
color: #ccc;
font-size: 12px;
font-style: italic;
margin: 10px;
}
.modal-wrap .modal-footer a { color: #fff; }Create a toggle button to open the modal window.
<button id="open-modal" class="triger-modal" data-triger="modal-demo">Open Modal</button>
The main JavaScript.
// Modal button
var openModal = document.getElementById('open-modal');
// Modal ID
var modal = document.getElementById('modal-demo');
// Close modal button
var closeModal = document.getElementsByClassName('close-modal')[0];
// Open modal event listener
openModal.addEventListener('click', function(){
modal.classList.toggle('visible');
});
// Close modal event listener
closeModal.addEventListener('click', function(){
modal.classList.remove('visible');
});






