i div non dovrebbero adattarsi al contenuto ma alla pagina nel suo insieme.
io mi trovo bene a creare un div "contenitore", come fosse la pagina, e poi inserisco dentro tutti i div con i contenuti.
Se usi le percentuali invece che le dimensioni fisse il sito diventa "elastico", il che è l'ideale, anche se un po' complesso soprattutto per la gestione delle immagini.
tu dai al div un'altezza, per es 80%, poi il contenuto si adatta. Se vuoi che appaia lo scrolling metti nei css del div overflow=auto; se invece vuoi che il contenuto debordante non compaia overflow=hidden;