固定高さのラッパーに配置され、3 つの内部コンテナーを含むレイアウトに取り組んでいます。
最初のコンテナー (ヘッダー) は、ラッパー内で一番上に配置する必要があり、その高さは柔軟です。
2 番目のコンテナー ( content ) も高さが柔軟で、使用可能なスペースが十分でない場合はオーバーフローする必要があります ( overflow-y: auto
)。
3 番目のコンテナー ( footer ) も高さが不明であり、いつでもラッパーの下部に配置する必要があります。
<div id="wrapper">
<div id="header">
<span>
some unknown content that is placed at the top of the wrapper
</span>
</div>
<div id="content">
<span>
some more unknown content and within here we want
to enable vertical scrolling if necessary
</span>
</div>
<div id="footer">
<span>
again unknown content that should be placed at the bottom of
the wrapper at any time
</span>
</div>
</div>
これまでに除外したオプション:
- 相対配置ラッパー内のフッターの絶対配置: フッターの高さが分からないため、この場合は機能しません。
- flexbox モデル: IE8+ をサポートする必要があるため不可
- table : コンテンツ行はオーバーフローしません。テーブル全体がオーバーフローし、フッターがラッパーの外側に配置されます。
- コンテンツ td 要素の位置が相対に設定され、位置が絶対に設定された div 要素 (実際のコンテンツを含む) を含むテーブル: ほとんどのブラウザーでオーバーフローの問題が修正されているようですが、たとえば IE9 ではコンテンツ div (高さが 100 に設定されている) %) 高さが 0 になる
ここで機能する Javascript を使用しない他のオプションはありますか?