One way to accomplish this layout is by utilizing a CSS table structure as shown below. Make sure to utilize the "baseline" property for vertical alignment. You can find a working sample here.
CSS:
.row {
display: table;
table-layout: fixed;
border: 1px solid grey;
}
.pic {
display: table-cell;
padding-left: 20px;
vertical-align: baseline;
}
.pic:first-child {
padding-left: 0;
}
.pic img {
vertical-align: bottom;
border: 1px solid red;
}
.pic p {
margin: 0;
text-align: center;
border: 1px solid #000;
}
HTML:
<div class="row">
<div class="pic">
<img src="http://dummyimage.com/100x60/000/fff" alt="ALT">
<p>Lorem<br>ipsum</p>
</div>
<div class="pic">
<img src="http://dummyimage.com/100x80/000/fff" alt="ALT">
<p>Lorem</p>
</div>
<div class="pic">
<img src="http://dummyimage.com/100x20/000/fff" alt="ALT">
<p>Lorem<br>ipsum<br>trying to break<br>everything</p>
</div>
<div class="pic">
<img src="http://dummyimage.com/100x40/000/fff" alt="ALT">
<p>Lorem<br>ipsum</p>
</div>
</div>