Ciao,
devi settare anche l'altezza del body se vuoi che il div mantenga la sua proporzione in verticale.
Prova questo codice.
Poi è chiaro che la'ltezza del div dipenderà dalla quantità di testo contenuta. Se vuoi cose più sofisticate devi utilizzare strumenti come JQuery...
codice:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<style>
html, body {
height: 100%;
margin: 0;
}
#mydiv {
width: 80%;
height: 80%;
background-color: aquamarine;
padding: 5px;
}
body > #mydiv {
height: auto;
min-height: 80%;
}
</style>
</head>
<body>
<div id="mydiv">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Donec sed ultricies lacus, eu consectetur eros.
Nam et purus suscipit, consectetur neque eu, tincidunt est.
Nullam scelerisque eu odio a bibendum.
Cras gravida purus leo, et pulvinar elit semper vel.
Curabitur at posuere felis.
</div>
</body>
</html>