Lækker, responsive modal-popup
Her er en fuldt responsive modal-boks, som er let at style og ser fint ud på både desktop og mobil.
Den består af en stump javascript, en stump CSS og så selve indholdet i modalen i HTML.
Vi starter med CSSen:
body {font-family: Arial, Helvetica, sans-serif;} /* Modal-baggrund */ .modal { display: none; /* Skjult som standard */ position: fixed; /* Blive hvor den er */ z-index: 1; /* Vises oeverst */ left: 0; top: 0; width: 100%; /* Fuld bredde */ height: 100%; /* Fuld dhoejde */ overflow: auto; /* Scroll hvis nødvendigt (undgaa helst) */ background-color: rgb(0,0,0); /* Garderings-farve */ background-color: rgba(0,0,0,0.5); /* Sort - svagt gennemsigtig */ margin-bottom: 0px; } /* Modal-indhold */ @media only screen and (max-device-width : 768px){ .modal-indhold { background-color: #fefefe; margin: 15% auto; /* 15% fra top og centreret */ padding: 10px 10px 10px 10px; border: 1px solid #333; width: 80%; /* Sat hoejt paa mobil */ } } @media only screen and (min-device-width : 769px){ .modal-indhold { background-color: #fefefe; margin: 15% auto; /* 15% fra top og centreret */ padding: 10px 10px 10px 20px; border: 1px solid #333; width: 40%; /* Sat lavt paa desktop for at goere det laesevenligt*/ } } /* The Close Button */ .close { position: relative; top: -12px; color: #888; float: right; font-size: 40px; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; } /* Modal-trigger */ #myTrigger { margin-bottom: 0px; padding: 0px 0px 4px 0px; text-align: left; cursor:pointer; display: inline; }
Javascript delen
// Get the modal var modal = document.getElementById("myModal"); // Get the button that opens the modal var btn = document.getElementById("myTrigger"); // Get the <span> element that closes the modal var span = document.getElementsByClassName("close")[0]; // When the user clicks the button, open the modal btn.onclick = function() { modal.style.display = "block"; } // When the user clicks on <span> (x), close the modal span.onclick = function() { modal.style.display = "none"; } // When the user clicks anywhere outside of the modal, close it window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } }
Og så lidt HTML
<button id="myTrigger">I tvivl om hvilken variant du skal vælge?</div> <div id="myModal" class="modal"> <!-- Modal-indhold --> <div class="modal-indhold"><span class="close">×</span> <p style="margin: 0px; padding-right: 10px;">Hvis du ikke er sikker på, hvad du skal vælge, så er du altid velkommen til at kontakte os.</p> </div> </div>
Denne snippet blev indsendt af Puretime.dk