JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wrapper head">
    <div class="grid">
        header
    </div>
</div>   

<div class="wrapper full">
    <div class="grid">
        content<br /> content<br /> content<br /> content<br /> content<br />
        content<br /> content<br /> content<br /> content<br /> content<br />
        content<br /> content<br /> content<br /> content<br /> content<br />
        content<br /> content<br /> content<br /> content<br /> content<br />
        content<br /> content<br /> content<br /> content<br /> content<br />
        content<br /> content<br /> content<br /> content<br /> content<br />
    </div>
</div>   

<!-- -- >
<div class="wrapper dark">
    <div class="grid">
        offscreen
    </div>
</div>       
<!-- -->
    
<div class="wrapper head">
    <div class="grid">
        footer
    </div>
</div>

CSS

html, body
{
    margin: 0;
    padding: 0;
    height: 100%;
}

* 
{
    box-sizing: border-box;
}

div
{
    margin: 0;
    padding: 0;
}

.wrapper
{
    background: #ccc;
}

.wrapper:nth-child(1)
{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;   
    height: 60px
}

.wrapper:nth-child(2)
{
    min-height: 100%;
    padding-top: 60px;
}

.full
{
    height: 100%
}

.wrapper:nth-last-child(2)
{
    padding-bottom: 20px;
}

.wrapper:nth-last-child(1) .grid
{
    margin-top: -20px;
    height: 20px;
}

.wrapper .grid
{
    margin: 0 auto;
    height: 100%;
    width: 200px;
    background: #eee;    
}

.wrapper.head
{
    background: #fcc;
}

.wrapper.head .grid
{
    background: #ffc;
}

.wrapper.dark
{
    background: #aaa;
}