tu specifichi un'altezza in percentuale per il div interno ma nessuna altezza è specificata per il div contenitore, quindi non sapendo in base a cosa calcolare quell'altezza il browsrer non può calcolarla. Inoltre la specificazione dell'altezza del div contenitore è necessaria anche perché al suo interno usi un div con posizionamento assoluto, che è sottratto al normale flusso e quindi non viene rilevato e trattato come normslmente accade e il div contenitore non può allungarsi a inglobarlo