解決策が見当たらない場合があります。これが私の問題です:
3つのセクション(ヘッダー、セクション、フッター)のあるページがあります。フッターは常に下部にフラッシュする必要があります。また、セクション部分はヘッダーとフッターの間のすべての利用可能な場所に配置する必要がありますが、ページによって異なる最小の高さを持っている必要があります(CSSで手動で設定します)。
最小の高さに達すると、ページ全体のスクロールが利用可能になります。
これは、ヘッダー、セクション、フッターをすべての利用可能な場所に設定するために使用しているコードのサンプルです。
CSS
body {
margin: 0
}
header, section, footer {
left:0;
right:0;
overflow: hidden;
position: absolute;
}
header {
height: 70px;
top: 0;
background-color: green;
}
section {
top: 70px;
bottom: 195px;
background-color: gray;
min-height:300px;
}
article {
overflow: hidden;
background-color:lightyellow;
}
.news {
position: absolute;
bottom: -30px;
width: 100%;
background-color: lime;
}
footer {
height: 195px;
bottom: 0;
background-color: pink;
}
HTML
<header>
<div class="container">
<h2>My header</h2>
</div>
</header>
<section>
<article>
<div class="news">
<div class="row-fluid">
<a href="#">UP</a>
</div>
<div class="row-fluid">
<div class="container">
<div class="span6">News 1</div>
<div class="span6">News 2</div>
</div>
</div>
</div>
</article>
</section>
<footer>
<div class="container">
My footer
</div>
</footer>
例としてjsfiddleが利用可能です:http://jsfiddle.net/Nk6uY/
編集
セクションに最小の高さを追加して、到達するとウィンドウにスクロールバーが表示されるようにするにはどうすればよいですか?
編集2
問題に関する情報をさらに追加します。まず、セクションタグ内のほとんどのコンテンツは絶対に設定されます。やや非表示にして、アクション(主にjavascript)に表示されます。そのため、セクションごとに、誰かがリンクをクリックした場合にすべてのコンテンツを表示するために必要な最小の高さを知っています。
私の例では、divニュースは非表示になっており、クリックすると少なくとも360pxが表示される必要があります。しかし、私のウィンドウがこれよりも小さい場合、ウィンドウにスクロールがなく、すべてのコンテンツがフッターで覆われています。