JSFiddle - React, Tailwind, and code Playground
HTML
<div class="lightboxRoot">
<div class="lightboxImg">
<div>
<img id="imgElt" src="foo"></img>
</div>
</div>
</div>
CSS
.lightboxRoot {
position: fixed;
width: 100%;
height: 100%;
/*aesthetic*/
background-color: red;
}
.lightboxImg {
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
max-width: 90%;
max-height: 90%;
overflow: auto;
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;
var lightb = document.querySelector('.lightboxImg');
hhh = (elt.clientHeight/2) - (lightb.clientHeight/2);
lightb.scrollTop = hhh ;
www = (elt.clientWidth/ 2) - (lightb.clientWidth/2);
lightb.scrollLeft = www ;