Hallo Martin,
margin: 20px auto; für deinen #maincontainer_div sollte eigentlich genügen. height: 100%; ist nicht nötig
Oder möchtest du, dass dein div immer Fenstergrösse hat + oben und unten 20px, auch falls der Inhalt zu groß wird? Das geht mit css nicht, da müsstest du javaScript nehmen.