shiki0331’s blog

Web Developer. TypeScript / React.js を中心に学んでいます。 ブログ内容で間違っている箇所などありましたら、ご指摘していただけると助かります。

CSSのflexboxを使ってfooterを下部に固定しよう!

flexboxは聞いたことがあるでしょうか?

 

最近はfloatよりflexboxを使用して横並びにすることが多いみたいですね〜

 

今回はflexboxを使用して簡単にfooterを下部に固定する方法を紹介します。

f:id:shiki0331:20190302230450p:plain

HTMLとCSS

f:id:shiki0331:20190302231533p:plain

footerを下部に固定

これだけで下部に固定できます!

必要なのはこれだけです!!

body {
 display: flex;
 flex-direction: column;
 min-height: 100vh;
}

footer {
 margin-top: auto;
}

display: flex; は子要素を横並びにします。

 

body {
 display: flex;
}

display:flex; のみでは以下のようになります。

f:id:shiki0331:20190302232229p:plain

display: flex; のみ適応

これを縦並びにするようにしたいので

body {
 display: flex;
 flex-direction: column;
}

 

flex-direction: column; を追加します。

これで以下のようになります。

f:id:shiki0331:20190302232818p:plain

display: flex; と flex-direction: column; 

しかし、これではfooterが下部に固定できずに浮いてしまいます。

これを下部に固定するには

body {
 display: flex;
 flex-direction: column;
 min-height: 100vh;
}

footer {
 margin-top: auto;
}

 bodyにmin-height: 100vh;

footerにmargin-top: auto;

 

上記二つを追加することでfooterを下部に固定することができます。

f:id:shiki0331:20190302233519p:plain

footerを下部に固定 完成!

 

 

margin autoがわからない人は下記のサイトがとてもわかりやすいので参考にしてみてください。

 

coliss.com