<header>
header
</header>

<content>
  content
</content>

<footer>
  footer
</footer>
body {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  text-align: center;
  font-size: 30px
}

header {
  min-height: 20vh;
  background-color: orange;
}

content {
 min-height: 30vh;
  background-color: #c6f183;
  flex-grow: 1;
}

footer {
  background-color: blue;
  min-height: 20vh;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.