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