JSFiddle - React, Tailwind, and code Playground
HTML
<div class="flex-row flex-fill">
<div class="flex-col">
<div class="menu">
<ul>
<li>menu item</li>
<li>menu item</li>
<li>menu item</li>
<li>menu item</li>
</ul>
</div>
</div>
<div class="flex-col flex-fill">
<div class="header">header</div>
<div class="main-content">
<div class="card">
<div id="table1"></div>
</div>
</div>
</div>
CSS
* { box-sizing: border-box; }
html { height: 100%; }
body {
min-height: 100%;
display: flex;
margin: 0;
padding: 0;
}
.flex-row {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
width: 100%;
}
.flex-col {
display: flex;
flex-direction: column;
flex-flow: column;
flex-wrap: nowrap;
justify-content: flex-start;
}
.flex-col.flex-fill {
width: 100%;
}
.flex-right {
margin-left: auto;
}
.menu {
width: 200px;
background-color: blue;
color: xwhite;
padding: 15px;
flex-grow: 1;
}
.header {
background-color: red;
padding: 15px;
font-family: italic;
font-size: 1.5em;
}
.main-content {
background-color: green;
height: 100%;
flex-grow: 1;
padding-bottom: 30px;
}
.card {
width: 75%;
margin: 0 auto;
margin-top: 30px;
background-color: white;
border: 1px white solid;
border-radius: 3px;
padding: 15px;
}
JavaScript
setTimeout(function () {
var html = "<table><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td></tr></table>"
var table = document.getElementById("table1");
table.innerHTML = html;
}, 1000);