Flexbox differences

HTML

<div class='container'>
  <div class='top'>
  
  </div>
  <div class='middle'>
    <div class='left'>
    </div>

    <div class='center'>
    </div>

    <div class='right'>
      <div class='right-content'>
      </div>
    </div>
  </div>
  <div class='bottom'>
    
  </div>
</div>

CSS

body {
  padding: 0px;
  margin: 0px;
}

div {
  box-sizing: border-box;
}

.container {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background: blue;
}

.top {
  flex-basis: 40px;
  background: purple;
}

.middle {
  display: flex;
  flex: 1;
  background: orange;
}

.bottom {
  flex-basis: 40px;
  background: yellow;
}
.left {
  flex-basis: 20px;
  background: green;
}

.center {
  flex: 1;
  background: red;
}

.right {
  flex-basis: 200px;
  background: orange;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 10px;
}

.right-content {
  height: 1000px;
  background: gray;
}