<div class="intro">
  Side colums have fixed width, Main column is flexible.
</div>
<div class="parent">
  <div class="child left">Left</div>
  <div class="child main">Main</div>
  <div class="child right">Right</div>
</div>
html
  margin: 0
  padding: 0
  font-family: sans-serif

.intro
  padding: 10px
  
.child
  text-align: center
  padding: 20px 10px
  box-sizing: border-box

.parent
  display: flex
  
.child.left
  width: 150px
  flex: 0 0 auto
  background-color: tomato
  
.child.main
  flex: 1 0 auto
  background-color: #eee
  min-height: 500px
  
.child.right
  width: 80px
  flex: 0 0 auto
  background-color: #ddd

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.