202505/15

CSSだけでフッターを最下層に固定する方法

本記事の内容

  • フッターが途中で浮いてしまう理由とは?
  • JavaScript不要!CSSだけで簡単にフッターを最下部に固定する方法
  • 「display: grid」を使ったシンプルなレイアウト術

完成イメージ

  • before

  • after

なぜフッターが画面の途中に表示されるのか?

ウェブサイトを作っていると、「コンテンツが少ないページでフッターが途中に浮いてしまう…」という悩みはよくあります。
これは、body要素の高さがコンテンツ量に応じて決まってしまうため、画面全体の高さ(100vh)まで届かないと、フッターが最下部に行かないためです。

CSSだけでフッターを最下部に固定する方法

結論から言うと、CSS Grid を使うことで、JavaScriptなしで簡単にフッターを常にページの最下部に配置することが可能です。

以下のようなCSSをbodyに指定するだけです。

◆HTML

<body>
  <header>ヘッダー</header>
  <main>コンテンツ</main>
  <footer>フッター</footer>
</body>

◆CSS

body {
  display: grid;
  grid-template:
    "header" auto
    "main" 1fr
    "footer" auto
    / 1fr;
  min-height: 100vh;
}

header {
  grid-area: header;
}

main {
  grid-area: main;
}

footer {
  grid-area: footer;
}

◆解説ポイント

  • display: grid;
     → body全体をグリッドレイアウト化します。
  • grid-template:
     → ヘッダー、メイン、フッターの3つの領域を縦に並べます。
  • "main" 1fr
     → メイン部分に余った高さをすべて割り当てることで、フッターを画面下に押し下げます。
  • min-height: 100vh;
     → ページの高さが必ず画面の高さ以上になるようにします。

まとめ

CSSだけでフッターを常に最下部に固定するには、display: gridとmin-height: 100vhを組み合わせるのがもっともシンプルな方法です。

「余白が足りずにフッターが途中に来てしまう…」といった悩みがある方は、ぜひこの記事のコードを参考にしてみてください。