Si tu n'as rien contre l'usage de display:flex; (pour navigateur recent) tu peut gerer ce genre de comportement assez aisement:
http://codepen.io/gc-nomade/pen/smftB/

<div id="div1">
<div...