JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<div class="scaleable-wrapper" id="scaleable-wrapper">
  
  <div class="very-specific-design" id="very-specific-design">
  
    <h1>HTML5 &amp; CSS3</h1>
  
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>
    
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/2000px-HTML5_logo_and_wordmark.svg.png" width="150" alt="" />
    
  </div>
  
</div>

CSS

body {
    background: #ccc;
    padding: 20px;
}

.very-specific-design {
    width: 600px;
    height: 400px;
    padding: 50px;
    text-align: center;
    background: white;
    position: relative;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
}

.scaleable-wrapper {
    padding: 20px;
    resize: both;
    position: relative;
    background: #666;
    height: 400px;
}

.ui-resizable-se {
    width: 10px;
    height: 10px;
    background: orange;
    position: absolute;
    bottom: 0;
    right: 0;
}

.bigred {
    color: red;
    font-size: 5rem;
}

JavaScript

var $el = $("#very-specific-design");
var elHeight = $el.outerHeight();
var elWidth = $el.outerWidth();

var $wrapper = $("#scaleable-wrapper");

$wrapper.resizable({
    resize: doResize
});

function doResize(event, ui) {

    var scale, origin;

    scale = Math.min(
        ui.size.width / elWidth,    
        ui.size.height / elHeight
    );

    $el.css({
        transform: "translate(-50%, -50%) " + "scale(" + scale + ")"
    });

}

var starterData = { 
    size: {
        width: $wrapper.width(),
        height: $wrapper.height()
    }
}
doResize(null, starterData);