Variating img aspect ratio
Usage
Variating Gallery
Variating img aspect ratio
/* CSS: Variating img aspect ratio */
.mixed_gallery {
padding-top: 1em;
display: flex;
flex-wrap: wrap;
gap: 15px;
}
/* Fill last row empty space */
.mixed_gallery::after {
content: '';
flex-grow: 999999999;
}
/* mobile view*/
@media only screen and (max-width: 500px) {
.mixed_gallery::after{
display: none;
}
}
// fit_images.js
function fit_images(){
const img_elements = document.querySelectorAll('.mixed_gallery img');
for(let x = 0; x < (img_elements.length); x++){
let img = new Image();
let img_elem = img_elements[x]
img.src = img_elem.getAttribute('src');
img.onload = function () {
img_elements[x].setAttribute('style',
`width:${this.width*200/this.height}px;
flex-grow:${this.width*200/this.height}`)
};
}
}