I'm trying to float two elements of different height, with the shorter one being middle centered.
If I use inline-block instead of float the vertical centering works correctly, but the 'middle' div doesn't stretch to fit.
float example: http://jsfiddle.net/jonofan/r3pejgud/3/
inline-block: http://jsfiddle.net/jonofan/87kwpuxa/
Also interested to hear if people think should be going about this layout a different way entirely.
EDIT: I don't see this to be a duplicate of this question because my current code doesn't use table display. It just so happens that 'use table display' is the best answer in this case.
.header {
  width: 600px;
  border: 1px solid black;
  display: inline-block;
}
.header img {
  width: 50px;
  float: left;
}
.middle {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid gray;
  height: 20px;
  overflow: hidden;
}
.middle .itemheading {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.8em;
}
.middle .itemdate {
  position: absolute;
  bottom: 0;
  right: 0;
}<div class='header'>
  <img src='http://i.imgur.com/J2HToiP.jpg' />
  <div class='middle'>
    <span class='itemheading'>Heading Text</span>
    <span class='itemdate'>Wednesday 01 July 2015</span>
  </div>
</div> 
     
    