Web ページの基本的なレイアウトに関していくつか問題があります。私が欲しいのは次のとおりです。ヘッダー、次に左側にメニューがあり、右側にコンテンツがあるページのコンテンツ、およびフッターです。このフッターは、コンテンツもメニューも 1 ページの長さを超えない場合、ページの下部に配置し、両方のコンテンツ div をヘッダーまで拡張する必要があります。コンテンツがページの長さを超えてスクロールバーが表示される場合、フッターはコンテンツの一番下にある必要があります。
私が現在持っているのは、このページを使用して同じ高さで、ヘッダーとコンテンツの 2 つの列です。現在、フッターはページの下部にありますが、コンテンツがページの長さを超えるとそこにとどまります。
現在のコードは次のとおりです。
CSS:
html, body{
margin:0px;
height:100%;
}
#container{
height:100%;
width:1024px;
margin:auto;
}
#header{
width:100%;
height:100px;
background:purple;
}
#container2{
float:left;
width:1024px;
background:yellow;
overflow:hidden;
position:relative;
}
#container1{
float:left;
width:1024px;
background:red;
position:relative;
right:874px;
}
#col1{
float:left;
width:150px;
position:relative;
left:874px;
overflow:hidden;
}
#col2{
float:left;
width:874px;
position:relative;
left:874px;
overflow:hidden;
}
#footer{
width:1024px;
background:purple;
position:absolute;
bottom:0px;
height:30px;
}
html:
<body>
<div id='container'>
<div id='header'>
This is the header.
</div>
<div id='container2'>
<div id='container1'>
<div id='col1'>
Menu option 1<br />
Menu option 2<br />
Menu option 3<br />
Menu option 4<br />
...
</div>
<div id='col2'>
Content!<br />
Content!<br />
Content!<br />
Content!<br />
Content!
</div>
</div>
</div>
<div id='footer'>
This is the footer.
</div>
</div>
</body>
そしてもちろん、ここにフィドルがあります:http://jsfiddle.net/gVEpx/
編集:完全に明確にするために、フッターは次のようにする必要があります: 1) コンテンツが小さい場合: ページの下部 (スクロールバーなし) 2) コンテンツが大きい場合: コンテンツの下部ページの一番下までスクロールすると、フッターが表示されます。
編集 2: 2 つの列が両方ともフッターまで続く必要があることを明確に述べていませんでした。列の 1 つに境界線を設定したいのですが、その境界線はヘッダーからフッターまでページ全体に適用する必要があります。