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;}