CSSでfooterを固定する方法3つを解説!【初心者向け】

こんにちは。

冬になると必ずマンションに住みたくなる、ぷのこです。

さて、今回はCSSでフッターを固定する方法についてのお話。

Webサイトを制作している時に、

「フッターが上にきてしまう・・・下に固定したい!」

こんな状況になったことはありませんか?

そこで今回は、CSSでフッターを固定する方法について解説します。

ぜひ参考にしてみてくださいね。

CSSでfooterを固定する方法3つ

CSSでフッターを固定するにはいくつか方法があります。今回は3つの方法をご紹介します。

まずは、フッターが固定されていないとどうなるのか見ていきましょう。

footerが固定されていないとこうなる

フッターが固定されていなくてコンテンツの高さが足りない場合、フッターが上に詰まったような表示になってしまいます。

こうならないように、コンテンツが少ない時でもフッターは下に表示させたいですよね。

それではそれぞれの方法を解説していきます。

Flexboxでfooterを固定(シンプル)

1つ目は、シンプルで使いやすいFlexboxを使った方法です。

HTML

header〜footerまでを、divタグで囲みます。今回は「container」というクラスをつけています。

CSS

全体を囲った.containerdisplay: flexを指定して、Flexboxを作ります。

header〜footerを縦並びにしたいので、flex-direction: columnを指定します。

そしてmin-height: 100vhで、body要素の高さが最小でも100vhになるように設定します。

 

vhとは?

vhは、Webページが表示される部分(=ビューポート)の高さに対する割合を示したものです。

「1vh=ビューポートの1/100の高さ」となり、100vhはビューポートの高さの100%を取ります。

 

最後にfooterにmargin-top: autoで、footerの上にmarginをつけて一番下に表示するようにします。

表示

コンテンツが少ない場合は、画面下部にフッターが表示されます。

 

コンテンツが多い場合は、一番下までスクロールするとフッターが表示されます。

position:absoluteでfooterを固定(わかりやすい)

2つ目は、position:absoluteを使ったわかりやすい方法です。

HTML

HTMLについては先ほどと同じです。

CSS

全体を囲った.containerposition: relativeを指定し、footerにposition: absoluteで位置を固定します。bottom: 0で、.containerの一番下に固定しています。

footerの下にメインコンテンツが入り込まないように、padding-bottomでfooterの高さの分を確保します。

また、Flexboxを使った時と同じように、min-height: 100vhでbody要素の高さが最小でも100vhになるように設定します。

表示

コンテンツが少ない場合は、画面下部にフッターが表示されます。

 

コンテンツが多い場合は、一番下までスクロールするとフッターが表示されます。

Flexboxを使った時と同じように表示ができました。

position:fixedでfooterを固定(常に表示)

3つ目は、position:fixedを使った方法です。

この方法では、コンテンツが少なくても多くても常に画面下部にフッターが表示されます。

HTML

HTMLについては先ほどと同じです。

CSS

footerにposition: fixedを指定し、bottom: 0で画面下部に固定しています。

先ほどのposition: absoluteを使った場合と同様、footerの下にメインコンテンツが入り込まないように、padding-bottomでfooterの高さの分を確保します。

表示

コンテンツが少ない場合も多い場合も、常に画面下部にフッターが表示されます。

 

コンテンツが少ない場合:

 

コンテンツが多い場合:

まとめ

いかがでしたか?

今回は、CSSでfooterを固定する方法について解説しました。

ぜひ活用してみてくださいね。

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?