編集: レイアウトに複数の問題がありました。ここに修正版があります:
http://jsfiddle.net/Ym3YP/
さて、実際にはスティッキー フッターを実装していません。固定位置のフッターを配置するだけです。固定または絶対配置を使用すると、問題の要素が HTML フローから取り出されます。これが、メイン コンテンツの div が一番下まで拡張される理由です。フッターが邪魔になっているのを見たり認識したりしません!
これらの問題を回避する固定フッターを適切に実装する方法は次のとおりです。
Ryan Faitから引用:
サンプル HTML:
<html>
<head>
<link rel="stylesheet" href="layout.css" ... />
</head>
<body>
<div class="wrapper">
<p>Your website content here.</p>
<div class="push"></div>
</div>
<div class="footer">
<p>Copyright (c) 2008</p>
</div>
</body>
</html>
サンプル CSS:
* {
margin: 0;
}
html, body {
height: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -142px; /* the bottom margin is the negative value of the footer's height */
}
.footer, .push {
height: 142px; /* .push must be the same height as .footer */
}
/*
Sticky Footer by Ryan Fait
http://ryanfait.com/
*/
また、このSmashing Magazine の記事もチェックしてください。CSS フローの基本について詳しく説明されているため、この種の問題を回避するのに役立ちます。CSS を始めようとしている人は必読で、将来の多くの頭痛の種からあなたを救います。