私のサイトは長いコンテンツのページでは問題ないように見えますが、短いコンテンツのページではフッターが上に移動します(編集: リンクは正しく機能するスティッキー フッターを表示するようになりました)。複数の解決策を試しましたが、どれも機能しません (ここで機能しないのは、フッターが固定されていないか、ページの中央に表示されているためです)。このソリューションとこれを試しました(両方のソリューションを削除したので、最初からやり直すことができます)。たとえば、chrome 開発者ツールまたはheight:100%
firebug にアクセスして #wrapper div に追加すると (これは基本的に、これを機能させるための最初のステップです)、高さが 100% を超えて拡張され、フッターが下部に表示されません。
基本的な div 構造は次のとおりです。
<div id="wrapper">
<div id="container">
<div id="content">
<div class="post"></div> <!-- floats left -->
<div id="sidebar></div> <!-- floats right -->
<div style="clear:both"></div> <!-- clear hack -->
</div>
</div>
</div>
<div id="footer"></div>
関連する div の CSS は次のとおりです。
html {
height: 100%;
}
body {
min-width:900px;
height: 100%;
}
#container {
height: 100%;
padding: 20px;
background: #f4f4f4;
}
#content {
-moz-border-radius: 11px;
-webkit-border-radius: 11px;
border-radius: 11px;
margin: auto;
width: 80%;
max-width: 1000px;
min-width:800px;
padding: 10px;
background: white;
-moz-box-shadow: 0px 2px 6px 3px #C0C0C0;
-webkit-box-shadow: 0px 2px 6px 3px #C0C0C0;
box-shadow: 0px 2px 6px 3px #C0C0C0;
}
#footer {
padding: 10px;
text-align: center;
box-sizing: border-box;
background: #101010;
height: 14em;
color: white;
}
/* These two are probably less important */
#sidebar {
float: right;
height: 100%;
margin: 15px 25px;
-moz-border-radius: 11px;
-webkit-border-radius: 11px;
border-radius: 11px;
/*IE 7 AND 8 DO NOT SUPPORT BORDER RADIUS*/
-moz-box-shadow: 0px 0px 7px #000000;
-webkit-box-shadow: 0px 0px 7px #000000;
box-shadow: 0px 0px 7px #000000;
/*IE 7 AND 8 DO NOT SUPPORT BLUR PROPERTY OF SHADOWS*/
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#dcedeb');
/*INNER ELEMENTS MUST NOT BREAK THIS ELEMENTS BOUNDARIES*/
/*Element must have a height (not auto)*/
/*All filters must be placed together*/
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#dcedeb')";
/*Element must have a height (not auto)*/
/*All filters must be placed together*/
background-image: -moz-linear-gradient(top, #ffffff, #dcedeb);
background-image: -ms-linear-gradient(top, #ffffff, #dcedeb);
background-image: -o-linear-gradient(top, #ffffff, #dcedeb);
background-image: -webkit-gradient(linear, center top, center bottom, from(#ffffff), to(#dcedeb));
background-image: -webkit-linear-gradient(top, #ffffff, #dcedeb);
background-image: linear-gradient(top, #ffffff, #dcedeb);
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
/*Use "background-clip: padding-box" when using rounded corners to avoid the gradient bleeding through the corners*/
/*--IE9 WILL PLACE THE FILTER ON TOP OF THE ROUNDED CORNERS--*/
}
.post {
width: 100%;
float: left;
height: 100%;
}
高さ 100% が機能しない理由と、スティッキー フッターを取得する方法を理解するために、firebug や CDT などを使用できる人はいますか?
編集:
@ajkochanowicz の説明に従って Ryan Fait のソリューションを実装すると、ページは次のようになります。
両方ともheight: 100%
.