JSFiddle - React, Tailwind, and code Playground
HTML
<div class="box">
<div class="header">
header
</div>
<div class="main">
<div class="box">
<div class="header">
header
</div>
<div class="main">
<div class="box">
<div class="header">
header
</div>
<div class="main">
</div>
<div class="footer">
footer
</div>
</div>
</div>
<div class="footer">
footer
</div>
</div>
</div>
<div class="footer">
footer
</div>
</div>
CSS
html, body {height:100%;}
body {padding:0;margin:0;
display:-webkit-flex;
background:green;
}
.box {display:-webkit-flex;
-webkit-flex-direction:column;
-webkit-flex-grow:1;
background:pink;
}
.header, .main, .footer {display:-webkit-flex;
-webkit-flex-grow:auto;
}
.header {height:50px;background:red;}
.main {-webkit-flex-grow:1;}
.footer {height:50px;background:red;}