• HTML/CSS

【CSS】コンテンツ量が少ない時だけフッターを下部に固定する方法

【CSS】コンテンツ量が少ない時だけフッターを下部に固定する方法

コンテンツ量が少ないページをコーディングした際に、フッターの下に余白ができてしまったことから、コンテンツ量に応じてフッターの位置を変えるCSSを調べて実装してみました。備忘録として残していきたいと思います。

完成イメージ

コンテンツ量が少ない場合、フッターはブラウザの下部に固定させ、
コンテンツ量が多い場合、フッターはコンテンツの下に表示させる形を完成イメージとします。

方法としては2通りあります。

Flexboxを使う方法

display: flexで指定する方法です。
こちらの方法は、.wrap内に要素を追加しても.footerが下部に固定されるためよく使用する方法です。

HTML

<div class="wrap">
  <header class="header"> </header>
  <div class="contents"> </div>
  <footer class="footer"> </footer>
</div>

CSS

.wrap{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.footer{
    margin-top: auto;
}

Grid Layoutを使う方法

display: gridで指定する方法です。

HTML

<div class="wrap">
  <header class="header"> </header>
  <div class="contents"> </div>
  <footer class="footer"> </footer>
</div>

CSS

.wrap{
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 100%;
  min-height: 100vh;
}

まとめ

コンテンツ量が少ない時だけフッターを下部に固定する方法をご紹介しました。
私自身display:flexの方が使用頻度が高かったのですが、display:gridで指定する方法は1箇所書き加えるだけで実装できるため、今後使用していきたいと思いました。

  • HTML/CSS
宮野 聡美

MIYANO SATOMI Front-end Engineer / 宮野 聡美

記事をもっと見る

Our Signature Products, Born from Insight.

提案から生まれた、
MARBLEの代表プロダクト

お客様の課題を起点に、MARBLEが自ら構想し、
仕組みからデザイン、開発、運用まで一貫してつくり上げたプロダクト群です。
業務改善、運営効率化、新たな顧客体験の創出など、
企業の事業成長に直結する“実装された解決策”を形にしています。

  1. 01 入退場システム

    Entry System

    入退場システムのイメージ

    全国15店舗、会員数50万人以上のこども向けパークで稼働する入退場・決済・顧客管理システム。
    受付の効率化と回転率の向上を実現し、運営データの一元管理を可能にしています。

  2. 02 自動配送システム

    Delivery Routing

    50台のトラック、年間350日の配送を最適化する自動ルート生成システム。
    紙のFAXで届く約500件の配送情報をデジタル化し、最適ルートを自動で算出することで、大幅な業務効率化を実現しました。

  3. 03 会話型コマース連携

    Auto Routing

    ライブチャットでの接客からEC購入までを一つの導線でつなぐ会話型コマースシステム。
    リアルタイムの対話で顧客の購買意欲を高め、高いコンバージョン率につながる仕組みを構築しています。