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';
}