Tech

How to Create Modal Image using HTML and CSS

What is a Modal Image?

A modal image is a dialog box/popup window that is displayed on top of the current page.

This example use most of the code from the previous example, Modal Boxes, only in this example, we use images.

 

Steps On How To Create Modal Image Using Html And Css

 

Step 1

Add HTML:

<!– Trigger the Modal –>

<img id=”myImg” src=”img_fjords.jpg” alt=”Trolltunga, Norway” width=”300″ height=”200″>

<!– The Modal –>

<div id=”myModal” class=”modal”>

<!– The Close Button –>

<span class=”close” onclick=”document.getElementById(‘myModal’).style.display=’none'”>&times;</span>

<!– Modal Content (The Image) –>

<img class=”modal-content” id=”img01″>

<!– Modal Caption (Image Text) –>

<div id=”caption”></div>

 

Step 2

Add CSS:

/* Style the Image Used to Trigger the Modal */

#myImg {

border-radius: 5px;

cursor: pointer;

transition: 0.3s;

}

 

#myImg:hover {opacity: 0.7;}

/* The Modal (background) */

.modal {

display: none; /* Hidden by default */

position: fixed; /* Stay in place */

z-index: 1; /* Sit on top */

padding-top: 100px; /* Location of the box */

left: 0;

top: 0;

width: 100%; /* Full width */

height: 100%; /* Full height */

overflow: auto; /* Enable scroll if needed */

background-color: rgb(0,0,0); /* Fallback color */

background-color: rgba(0,0,0,0.9); /* Black w/ opacity */

}

/* Modal Content (Image) */

.modal-content {

margin: auto;

display: block;

width: 80%;

max-width: 700px;

}

/* Caption of Modal Image (Image Text) – Same Width as the Image */

#caption {

margin: auto;

display: block;

width: 80%;

max-width: 700px;

text-align: center;

color: #ccc;

padding: 10px 0;

height: 150px;

}

 

/* Add Animation – Zoom in the Modal */

.modal-content, #caption {

-webkit-animation-name: zoom;

-webkit-animation-duration: 0.6s;

animation-name: zoom;

animation-duration: 0.6s;

}

@-webkit-keyframes zoom {

from {-webkit-transform:scale(0)}

to {-webkit-transform:scale(1)}

}

@keyframes zoom {

from {transform:scale(0)}

to {transform:scale(1)}

}

/* The Close Button */

.close {

position: absolute;

top: 15px;

right: 35px;

color: #f1f1f1;

font-size: 40px;

font-weight: bold;

transition: 0.3s;

}

 

.close:hover,

.close:focus {

color: #bbb;

text-decoration: none;

cursor: pointer;

}

 

/* 100% Image Width on Smaller Screens */

@media only screen and (max-width: 700px){

.modal-content {

width: 100%;

}

}

 

Step 3

Add JavaScript:

// Get the modal

var modal = document.getElementById(‘myModal’);

 

// Get the image and insert it inside the modal – use its “alt” text as a caption

var img = document.getElementById(‘myImg’);

var modalImg = document.getElementById(“img01”);

var captionText = document.getElementById(“caption”);

img.onclick = function(){

modal.style.display = “block”;

modalImg.src = this.src;

captionText.innerHTML = this.alt;

}

 

// Get the <span> element that closes the modal

var span = document.getElementsByClassName(“close”)[0];

 

// When the user clicks on <span> (x), close the modal

span.onclick = function() {

modal.style.display = “none”;

}

 

 

credit: http://www.w3schools.com

 

 

 

 

 

 

 

 

 

 


P.S. Thanks for reading this far! If you found value in this, we’d really appreciate it if you recommend this post (by clicking the share buttons) so other people can learn!

Found this Howto helpful? Subscribe for more!

You may also learn:

Comments
To Top