title: Stretch height with flexbox align-items center
body: <p>I have a div with <code>display: flex; flex-direction: row;</code>. The children of this div take the full height unless I specify <code>align-items: center</code>. Code below - </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>.row {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100px;
    background: beige;
    border: 1px solid red;
    margin: 10px 0;
  }
  
  .row2 {
    align-items: center;
  }
  
  .row-item {
    border: 1px solid green;
  }
  
  .item1,
  .item3 {
    width: 100px;
  }
  
  .item2 {
    flex: 1;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div class="row row1"&gt;
    &lt;div class="row-item item1"&gt;1&lt;/div&gt;
    &lt;div class="row-item item2"&gt;
      &lt;div&gt; 2.1 &lt;/div&gt;
      &lt;div&gt; 2.2 &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="row-item item3"&gt;3&lt;/div&gt;
  &lt;/div&gt;
  
  &lt;div class="row row2"&gt;
    &lt;div class="row-item item1"&gt;1&lt;/div&gt;
    &lt;div class="row-item item2"&gt;
      &lt;div&gt; 2.1 &lt;/div&gt;
      &lt;div&gt; 2.2 &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="row-item item3"&gt;3&lt;/div&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p><a href="https://jsfiddle.net/jaibatrik/12un9p37/3/" rel="noreferrer">JSFiddle</a></p>
  
  <p>What I want to achieve is that 2.1 and 2.2 should take 50px (50%) height and should have its content middle aligned vertically. They should also stretch the full available space horizontally (like width: auto or 100%). Then if 2.1 is not present, 2.2 should take 100px height and should be vertically aligned to middle.</p>