うん、それはこのためです: #menu{position: absolute;}
位置が絶対的で、メイン コンテンツが中央にあるため、画面サイズが小さくなると、メニューがコンテンツの後ろに表示されます。画面のサイズを非常に狭くするだけで、これを試すことができます。
簡単に修正するには、 position: absolute を削除します。これで問題は解決しますが、次のことをお勧めします。
#menu と #container から絶対位置と相対位置を削除します。Margin right and left: auto を #container から削除し、#container left をフロートします (float:left;)。最後に、自動左右マージンを #site に適用します (最初に幅を指定する必要があります。920px が機能するはずです)。#menu は #container の横にあり、どちらもページの中央に配置されます。
適切な測定のために、サイトの上に 100% の高さと幅の div (#wrapper) を追加します。
また、「position:absolute;」と入力すると、補足になります。要素の「フロー」から削除されるため、マージンは影響しません。位置を理解するのに役立つ素晴らしい記事は次のとおりです。 http://www.barelyfitz.com/screencast/html-training/css/positioning/
CSSへようこそ!楽しいこともあれば、イライラすることもあります。楽しんでいただければ幸いです。