title: How to arrange elements vertically with flexbox and css
body: <p>I have three elements in my HTML that I would like to arrange vertically (stacked if you will), regardless of size (which is dynamic for some of the elements).</p>
  
  <p>I have tried using <code>flexbox</code> and the usual advice on the net but it does not seem to work.</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>.intro {
    font-family: monospace;
    font-size: 24px;
    color: #455934;
    padding-top: 25px;
    padding-right: 50px;
    padding-bottom: 5px;
    padding-left: 50px;
    align-self: flex-start;
  }
  
  .recipe {
    background-color: rgba(255, 255, 255, .6);
    margin: auto;
    min-height: 400px;
    height: auto !important;
    height: 400px;
    width: 75%;
    box-sizing: border-box;
    display: flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-direction: column;
    -webkit-flex-direction: column;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    justify-content: left;
  }
  
  .recipe a:link,
  a:visited,
  a:active {
    color: #cda44c;
    font-family: monospace;
    font-size: 18px;
    padding-top: 5px;
    padding-right: 50px;
    padding-bottom: 5px;
    padding-left: 50px;
    align-self: flex-start;
  }
  
  .recipe a:hover {
    color: white;
    align-self: flex-start;
  }
  
  .recipe_image {
    padding-top: 5px;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div class="recipe"&gt;
    &lt;p class="intro"&gt;
      {{label}}
    &lt;/p&gt;
    &lt;a href='test.html'&gt;
    Rezept von {{source}}
   &lt;/a&gt;
    &lt;br&gt;
    &lt;a href='test.html'&gt;
      &lt;img src='C:/users/fabian.nguyen/03 - Customer Analytics/Bots/Flask Test/static/rock.gif' alt="TEST" class="recipe_image"&gt;
    &lt;/a&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>You can see the resulting HTML (rendered via Flask but that is not the issue) here:
  <a href="https://nachhaltig-kochen.herokuapp.com/getrecipe" rel="nofollow noreferrer">https://nachhaltig-kochen.herokuapp.com/getrecipe</a></p>
  
  <p>Instead of stacking into a column (1. Label 2. Text-Link 3. Image-Link) they arrange in a row of equally sized divs.</p>
  
  <p>EDIT:</p>
  
  <p>Thanks to Pete, the solution is simply to remove any flex box reference as the elements should (and do) naturally stack vertically without any other style.</p>