title: Vertically centre align a cropped image in a div
body: <p>I'm trying to create a CSS style that will take an image and scale it to best fit a letter box shaped div. The overflow will be cropped off. I'm close with this and it currently looks like this:</p>
  
  <p><a href="https://i.stack.imgur.com/2iqd4.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2iqd4.png" alt="current appearance"></a></p>
  
  <p>The original image is </p>
  
  <p><a href="https://i.stack.imgur.com/kjkPb.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kjkPb.jpg" alt="original image"></a></p>
  
  <p>I'd like to modify this so that the image is centered vertically in the div rather than top aligned. What am I missing here? My html is</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>.crop {
    width: 670px;
    height: 200px;
    overflow: hidden;
  }
  
  .crop img {
    width: 670px;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div class='crop'&gt;
    &lt;img src='http://cycle.travel/images/600/amsterdam_ccby_conor_luddy.jpg' /&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>I can't assume the height of the image to be the same everywhere I use this. </p>