Skip to content

Instantly share code, notes, and snippets.

@masterfermin02
Created April 30, 2020 05:10
Show Gist options
  • Save masterfermin02/1cd385d1e7a3e14f81ed782cd940eb18 to your computer and use it in GitHub Desktop.
Save masterfermin02/1cd385d1e7a3e14f81ed782cd940eb18 to your computer and use it in GitHub Desktop.
<!-- The grid: four columns -->
<div class="row">
<div class="column">
<img src="https://cdn.pixabay.com/photo/2016/03/05/23/02/barbecue-1239434__480.jpg" alt="Nature" content="testing" onclick="myFunction(this);">
</div>
<div class="column">
<img src="https://cdn.pixabay.com/photo/2014/12/21/23/40/steak-575806__480.png" alt="Snow" content="testing" onclick="myFunction(this);">
</div>
<div class="column">
<img src="https://cdn.pixabay.com/photo/2020/02/02/15/07/meat-4813261__480.jpg" alt="Mountains" content="testing" onclick="myFunction(this);">
</div>
<div class="column">
<img src="https://cdn.pixabay.com/photo/2016/03/17/23/26/italy-1264104__480.jpg" alt="Lights" content="testing" onclick="myFunction(this);">
</div>
</div>
<style>
/* The grid: Four equal columns that floats next to each other */
.column {
float: left;
width: 25%;
padding: 10px;
}
/* Style the images inside the grid */
.column img {
opacity: 0.8;
cursor: pointer;
}
.column img:hover {
opacity: 1;
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
/* The expanding image container (positioning is needed to position the close button and the text) */
.container {
position: relative;
display: none;
}
/* Expanding image text */
#imgtext {
position: absolute;
bottom: 15px;
left: 15px;
color: white;
font-size: 20px;
}
/* Closable button inside the image */
.closebtn {
position: absolute;
top: 10px;
right: 15px;
color: white;
font-size: 35px;
cursor: pointer;
}
</style>
<script>
function myFunction(imgs) {
// Get the expanded image
var expandImg = document.getElementById("expandedImg");
// Get the image text
var imgText = document.getElementById("imgtext");
// Use the same src in the expanded image as the image being clicked on from the grid
expandImg.src = imgs.src;
// Use the value of the alt attribute of the clickable image as text inside the expanded image
imgText.innerHTML = imgs.alt;
// Show the container element (hidden with CSS)
expandImg.parentElement.style.display = "block";
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment