JSFiddle - React, Tailwind, and code Playground
HTML
<div class="square"></div>
CSS
html, body {
margin: 0;
height: 100%;
}
.square {
width: 300px;
height: 300px;
margin: 0 auto;
background-color: #7ad;
-moz-transform-origin: center top;
-o-transform-origin: center top;
}
JavaScript
function zoomSquare() {
var $square = $('.square');
var viewportHeight = $(window).height();
var squareHeight = $square.height();
var desiredHeight = Math.round(viewportHeight * 0.95);
var zoom = (desiredHeight / squareHeight);
$square.css('zoom', zoom);
$square.css('-moz-transform', 'scale(' + zoom + ')');
$square.css( '-o-transform', 'scale(' + zoom + ')');
}
// When the browser is resized
$(window).on('resize', function(){ zoomSquare(); });
// When the page first loads
$(document).ready(function(){
zoomSquare();
});