footerを最下部に固定する
仕事でfooterタグがなぜか最下部に表示されず最上部に表示されてしまっていたので、備忘録として記録。
この記事の目次
修正前
このコードだと出力画面ではなぜかfooterが画面の最上部に表示されていた。
<html> <head> ~ <head>
<body> <header> </header> <div id="main"> </div> <footer> </footer> </body> </html>
position:absolute、bottom:0を設定してもダメだった
footerにposition:absolute、bottom:0を設定しても意味なし。
<footer style="position:absolute;bottom:0">
最下部に表示されませぬ
</footer>
position:fixedも求めていたものとは違う
position:fixedを設定すると表示はされるけどスクロールしても画面下部固定になっちゃうし。
<footer style="position:fixed;bottom:0">
これも求めていたものとは異なる
</footer>
修正後
footerに親要素を追加
まずはfooterに親要素を追加します。
<html>
<head>
~
<head>
<body>
<div id="wrapper">
<header>
</header>
<div id="main">
</div>
<footer>
</footer>
</div>
</body>
</html>
CSSも追加
CSSに下記を追加。
#wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
}
footer {
margin-top: auto;
}
これでOK。
CSSムズ過ぎです。