Any idea why this overflowing is happening? The image max-width
and max-height
are both set to 100% and only the original div extended 2x its height but not width?
The images stacking below each other is another issue
Code here
var gridItems = document.querySelectorAll('.grid-item');
gridItems.forEach(function(item) {
item.addEventListener('click', function() {
item.classList.add('no-hover');
item.classList.add('transform-active');
item.classList.add('gone');
});
});
document.querySelectorAll('.grid-item').forEach(function(element) {
element.addEventListener('click', function() {
var elem = document.createElement("img");
elem.classList.add("revealed")
elem.src = "https://cdn.discordapp.com/attachments/1051253642876952636/1069628656038719608/image-removebg-preview_1.png"
document.querySelector(".gone").appendChild(elem);
});
});
.grid-container {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-gap: 15px;
height: 600px;
width: 600px;
margin: auto;
position: relative;
top: 0;
bottom: 0;
left: 0;
right: 0;
float: left;
}
.grid-item {
border-radius: 12px;
background-color: #3d499b;
box-shadow: 5.5px 5.5px #1e286c;
border: 2px solid black;
transition: all 0.3s ease-in-out;
}
.grid-item:not(.no-hover):hover {
animation: raise 0.2s ease-in-out;
background-color: #5463cd;
}
.grid-item.transform-active {
animation: embiggen 0.2s ease-out 0s 1;
}
@keyframes raise {
0%,100% {
transform: translateY(0px);
}
50% {
transform: translateY(-5px);
}
}
@keyframes embiggen {
100% {
transform: scale(1.1);
}
}
.grid-item.gone {
visibility: hidden;
}
.revealed {
max-width: 100%;
max-height: 100%;
visibility: visible;
}
<div class="grid-container">
<div class="grid-item" id="1"></div>
<div class="grid-item" id="2"></div>
<div class="grid-item" id="3"></div>
<div class="grid-item" id="4"></div>
<div class="grid-item" id="5"></div>
<div class="grid-item" id="6"></div>
<div class="grid-item" id="7"></div>
<div class="grid-item" id="8"></div>
<div class="grid-item" id="9"></div>
<div class="grid-item" id="10"></div>
<div class="grid-item" id="11"></div>
<div class="grid-item" id="12"></div>
<div class="grid-item" id="13"></div>
<div class="grid-item" id="14"></div>
<div class="grid-item" id="15"></div>
<div class="grid-item" id="16"></div>
<div class="grid-item" id="17"></div>
<div class="grid-item" id="18"></div>
<div class="grid-item" id="19"></div>
<div class="grid-item" id="20"></div>
<div class="grid-item" id="21"></div>
<div class="grid-item" id="22"></div>
<div class="grid-item" id="23"></div>
<div class="grid-item" id="24"></div>
<div class="grid-item" id="25"></div>
</div>