У меня возникли проблемы с тем, что Chrome обратит внимание на гибкую основу flex: 1 1 25% в макете flex-direction: column. Он отлично работает в макете row.
Ниже представлен фрагмент ниже: желтые, синие и розовые полосы имеют гибкую основу 50px, 25% и 75%, как показано в обоих направлениях.
Если вы запустите его в Firefox (или IE11 или Edge), то столбец и строка разделите область как ожидалось:
Но если вы запустили его в Chrome (47) или в Safari (9.0.3), расположение столбцов слева, похоже, полностью игнорирует флеш-основу - высота баров, похоже, не имеет отношения к flex -базис:
Единственное различие между левым и правым - это flex-direction.
.container {
  width: 400px;
  height: 200px;
  display: flex;
  background: #666;
  position: relative;
}
.layout {
  flex: 1 1 100%; /* within .container */
  margin: 10px;
  display: flex;
}
.row {
  flex-direction: row;
}
.column {
  flex-direction: column;
}
.exact {
  flex: 1 1 50px;
  background: #ffc;
}
.small {
  flex: 1 1 25%;
  background: #cff;
}
.large {
  flex: 1 1 75%;
  background: #fcf;
}<div class="container">
  <div class="layout column">
    <div class="exact">50px</div>
    <div class="small">25%</div>
    <div class="large">75%</div>
  </div>
  <div class="layout row">
    <div class="exact">50px</div>
    <div class="small">25%</div>
    <div class="large">75%</div>
  </div>
</div>

