JSFiddle - React, Tailwind, and code Playground

HTML

<div class="lightboxRoot">
    <div class="lightboxImg">
        <img id="imgElt" src="foo"></img>
    </div>
</div>

CSS

.lightboxRoot {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: auto;
    /*aesthetic*/
    background-color: red;
}

.lightboxImg {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
    
    /*aesthetic*/
    background-color: blue;
}

JavaScript

var imgL = "http://upload.wikimedia.org/wikipedia/commons/6/65/Cute_beagle_puppy_lilly.jpg";
var imgS = "https://upload.wikimedia.org/wikipedia/meta/0/08/Wikipedia-logo-v2_1x.png";
var imgM = 'http://upload.wikimedia.org/wikipedia/commons/thumb/6/66/SMPTE_Color_Bars.svg/672px-SMPTE_Color_Bars.svg.png';
var img = imgL;

var elt = document.getElementById('imgElt')
elt.src = img;

if (elt.parentElement.parentElement.clientHeight < elt.clientHeight) {
    elt.parentElement.style.top = 0;
    elt.parentElement.style.left = 0;
    elt.parentElement.style.transform = 'none';
}