I have a bit of HTML:
.flex {
  display: -webkit-box;
  display: flex;
  height: 100px;
  width: 100%;
}
  .flex > div {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    -webkit-flex-grow: 1;
    -webkit-flex-shrink: 1;
    margin: 15px;
  }
    .example {
      overflow: hidden;
      width: 100%;
      outline: 5px solid black;
    }
      .example .wide {
        width: 400px;
      }
.red    { background-color: red; }
.orange { background-color: orange; }
.yellow { background-color: yellow; }
.green  { background-color: green; }
.blue   { background-color: blue; }
.indigo { background-color: indigo; }<div class="flex">
  <div class="red">
    <div class="example">
      <div class="wide">
      </div>
    </div>
  </div>
  <div class="orange"></div>
  <div class="yellow"></div>
  <div class="green"></div>
  <div class="blue"></div>
  <div class="indigo"></div>
</div>
<div class="flex">
  <div class="red"></div>
  <div class="orange"></div>
  <div class="yellow"></div>
  <div class="green"></div>
  <div class="blue"></div>
  <div class="indigo"></div>
</div>Now, the problem here is, if I have a div inside an element that is a flexbox and that div has overflow: hidden; (i.e. .example, with the thick black outline) them I would expect the parent flexbox to just take up the default amount of space (i.e. the same as the other elements, but it doesn't.
It is like it ignores the overflow and just expands the div anyway.
I have made a CodePen so you can see the issue.
I would like all the coloured divs to be the same width.
Can anyone help?
 
     
     
    