これを使用してフッターを下に貼り付けましたが、うまくいきました。
HTML
<body>
<div class="allButFooter">
<!-- Your page's content goes here, including header, nav, aside, everything -->
</div>
<footer>
<!-- Footer content -->
</footer>
</body>
これがHTMLで行う必要がある唯一の変更です。div
これを"allButFooter"
クラスに追加します。私はそれをすべてのページで行いました。短いページ、フッターが下にくっつかないこと、そしてスクロールしなければならないことをすでに知っているほど長いページを知っていました。これを行ったので、ページのコンテンツが動的な場合でも問題なく動作することがわかりました。
CSS
.allButFooter {
min-height: calc(100vh - 40px);
}
"allButFooter"
クラスがありmin-height
、ビューポートの高さに依存する値(100vh
私はすでに知っていたことを、ビューポートの高さの100%を意味する)とフッターの高さを40px
。
それが私がしたことのすべてであり、それは私にとって完璧に機能しました。私はすべてのブラウザで試したわけではなく、Firefox、Chrome、Edgeだけを試してみました。結果は思い通りでした。フッターは下にくっついており、z-index、位置、その他のプロパティを変更する必要はありません。ドキュメント内のすべての要素の位置はデフォルトの位置でした。絶対位置や固定位置などに変更しませんでした。
レスポンシブデザインの操作
解決したいことがあります。高さが40pxの同じフッターを使用したこのソリューションは、を使用してレスポンシブデザインで作業していたときに期待どおりに機能しませんでしたTwitter-Bootstrap
。関数で減算していた値を変更する必要がありました。
.allButFooter {
min-height: calc(100vh - 95px);
}
これはおそらくTwitter-Bootstrap
、独自のマージンとパディングが付いているためです。そのため、その値を調整する必要がありました。
これが皆さんの役に立つことを願っています!少なくとも、試してみるのは簡単な解決策であり、ドキュメント全体に大きな変更を加える必要はありません。