Per curiosità, considerando l'esempio sotto, perché avere il margine sul div #container fa apparire una barra di scorrimento verticale nel browser? Il contenitore è molto più piccolo in altezza rispetto all'altezza del corpo che è impostata al 100%.
Ho impostato il padding e i margini su 0 per tutti gli elementi tranne il #container. Nota che ho deliberatamente omesso il posizionamento assoluto sul div #container. In questo caso come il browser calcola l'altezza del corpo e come influisce il margine?
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
* { padding:0; margin:0;}
html, body { height:100%; }
#container
{
padding:10px;
margin:50px;
border:1px solid black;
width: 200px;
height: 100px;
}
</style>
</head>
<body>
<div id='container'>
</div>
</body>
</html>
Esempio anche su JSFiddle