これはかなり簡単だと思いましたが、解決策を見つけることができませんでした。ブラウザ ウィンドウを埋める 2 つの div を含むレイアウトが必要です。それらは 100% 幅で、一方が他方の上に重なっています。下部の div の高さは固定である必要があり、上部の div は残りのスペースを埋めます。次の解決策を希望します。
- CSS のみを使用する (Javascript を使用しない)
- IE7+ と互換性がある (例: CSS calc なし)
- div 間に重複がないこと
- レイアウト内に収まらない場合は、上部の div のコンテンツを垂直方向にスクロールします
私は次のことを試しましたが、margin-bottom は効果がないように見えるため、2 つの div が重なっています (半透明の背景で示されているように)。
<!DOCTYPE html>
<html>
<head>
<style>
* {
margin: 0;
padding: 0;
}
body, html {
height: 100%;
}
#content {
height: 100%;
width: 100%;
overflow: auto;
background: rgba(255,0,0,0.5);
margin-bottom: 40px;
}
#footer {
width: 100%;
height: 40px;
position:absolute;
bottom: 0;
background: rgba(255,0,0,0.5);
}
</style>
</head>
<body>
<div id="content">
<p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>last line of content</p>
</div>
<div id="footer"></div>
</body>
</html>
スティッキーフッターの解決策をいくつか見てきましたが、それらはすべて div が重なっているようです。これは見た目ほど難しいですか、それとも何か不足していますか? どんな洞察も大歓迎です!