そのため、私はしばらくこの問題に悩まされてきましたが、解決策が見つからないようです。
(今のところ) 4 つの異なるコンテンツ領域で構成されるレイアウトを作成しようとしています。
私がやろうとしていること
私は次のことをしようとしています:
簡単な説明:コンテンツがページに収まる場合はそのすぐ後ろに、それ以外の場合は下部に固定された、ページでContent
唯一のスクロール可能なものにする必要があります。footer
詳細な説明:
- ページをスクロールしても と が動かないように
banner
修正。mainMenu
- 次の
content
ように、ページでスクロールを作成します。content
(および) がページに収まる場合、footer
スクロールは表示されません。- スクロールが必要な場合は(表示されていない)
content
の後ろに移動し、そのbanner
上には表示されません。 - スクロールが必要な場合は
content
、一番下の行までスクロールfooter
して、表示領域に入ることができます。
- は次の
footer
2 つのことを行う必要があります。content
ページにfooter
収まる場合は、ページfooter
の下部に貼り付ける必要がありますcontent
- それ以外の場合は
footer
、底に固定する必要があります。
私が試したこと
固定banner
、mainMenu
および は、footer
を使用して固定されますposition: fixed
(そして、それに応じて配置されます)。親div
が持っていますoverflow: hidden
(これは機能していないようです)。
<div id='main'>
<div id='banner'>banner</div>
<div id='mainMenu'>mainMenu</div>
<div id='content'>.. some long content ..</div>
<div id='footer'>footer</div>
</div>
と
#main {
width: 960px;
height: auto;
margin: 40px auto;
overflow: hidden;
}
#main #banner {
width: 960px;
height: 100px;
position: fixed;
}
#main #mainMenu {
width: 230px;
height: auto;
display: inline;
float: left;
position: fixed;
top: 140px;
}
#main #content {
width: 720px;
height: auto;
display: inline;
float: right;
margin-top: 100px;
}
#main #footer {
width: 960px;
height: auto;
clear: both;
position: fixed;
bottom: 0;
}
問題
content
領域内に収まると
フッターが追従しない
バナーの上にコンテンツがはみ出す
私はこれを CSS だけで (可能であれば)、可能な限り互換性を持たせて (IE7+、その他すべての主要なブラウザー) 実行したいと考えています。今は本当にイライラしています..どんな助けもいただければ幸いです。