Elements with position:absolute are removed from the normal document flow, so no space is allocated for them in the parent containing element. That's why your <div> did not expand to accommodate them. Setting the height on the parent, as you did, is often a useful solution, if not the best.
If your layout had been somewhat different, I probably would have suggested a different approach for the images. You might, for example, have set the <div>s containing the <img>s to "display:inline-block; width:50%; text-align:center;" or something similar, so that the parent containing <div> would expand vertically as content was added. But for this page, I think you're OK.