• Home
  • HTMLとCSSだけでフッターの隙間を解消する方法

HTMLとCSSだけでフッターの隙間を解消する方法

概要

HTMLとCSSだけでフッターの隙間を解消する方法-image-1

コンテンツ量が少ないときにフッターとページ最下部との間にできてしまう隙間の解消方法について説明します。

ヘッダー+メインコンテンツ+フッターという構造を想定しています。

HTML+CSSでの実装方法を解説します。

HTML+CSSの設定のポイント

隙間を作らず、フッターを最下部に表示したいときのポイントは4つです。

  1. ヘッダー+メインコンテンツ+フッターの外側にwrapper用の要素を作成して、display: flexを指定
  2. wrapper要素にflex-direction: columnを設定
  3. wrapperクラスにmin-height: 100vhを設定
  4. footerにmargin-top: autoを設定

サンプルコード

イメージしやすいようにサンプルコードを作成しました。

サンプルはわかりやすいようにパーツごとに色を付けています。

main要素の大きさに関わらずfooterが最下部に表示されているのが分かると思います。

実際に使用する際は、wrapperクラスの背景色にmainの背景色と同じ色を指定するか、mainにflex-grow: 1を指定すると良いです。

コードの解説

wrapper要素の作成

外側のwrapper要素を設定し、wrapper要素の高さを設定しています。

min-height: 100vhで、最小の高さを画面の縦幅いっぱいにしています(超えた場合は自動的に広がる)。

display: flexflex-direction: columnで内側の要素を縦に配置しています。

footerのmargin設定

外側の要素の高さを設定しているので、footerに`margin-top: auto`を設定することで、外側の高さ分までmarginが自動で設定されます。

参考

display: flexについては、下記ページで詳しく解説されています。

日本語対応!CSS Flexboxのチートシートを作ったので配布します | Webクリエイターボックス


プロフィール画像
sake現役システムエンジニア

現役システムエンジニア。普段はホスト系のお仕事してます。

ブログでは主にWeb関係の技術について、勉強したことや実際にコーディングしてみた内容を発信していきます。