CSSはコンテンツの高さが足りない場合にフッターを自動的に下部に固定します

CSSはコンテンツの高さが足りない場合にフッターを自動的に下部に固定します

UI カットのプロセスでは、ページはヘッダー、コンテンツ、フッターの 3 つの部分で構成されることがよくあります。ページの内容が画面いっぱいに表示されない場合は、フッターが内容とともに浮き上がります。小さい画面では高さが制限されており、異常は見られませんが、大きい画面の場合は下部に多くの空白スペースができ、見た目に大きな影響を与えます。

ソリューション 1: フレックスボックス

ヘッダーは position: sticky; を使用して上部を吸収し、ボックス ( main ) を使用してコンテンツ ( container > content ) と下部 ( footer ) を囲みます。このボックスの最小の高さは、ヘッダーを除いた残りの画面の高さ ( min-height: calc(100vh - 50px); に設定されています。また、ボックスは elastic layout ( flex: 1 1 auto; ) を使用してコンテンツ領域を自動的に拡張し、下部は変更されません ( flex: 0 0 auto; )。そのため、コンテンツが不足している場合は下部が自動的に吸収され、コンテンツが十分にある場合は下部が自動的に移動します。

例:

<html>
  <ヘッド>
    <title>下部(フッター)を実現するための CSS - ソリューション 1: Flex-Box</title>
    <スタイル>
      体 {
        マージン: 0;
      }
      ヘッダー {
        高さ: 50px;
        背景: #20c997;
        位置: 固定;
        上: 0;
      }
      主要 {
        ディスプレイ: フレックス;
        flex-flow: 列の折り返しなし;
        最小高さ: calc(100vh - 50px);
      }
      。容器 {
        フレックス: 1 1 自動;
      }
      。コンテンツ {
        背景: #0d6efd;
      }
      フッター {
        フレックス: 0 0 自動;
        背景: #fd7e14;
      }
    </スタイル>
  </head>
  <本文>
    <!--ヘッダー-->
    <ヘッダー>
      ヘッダ
    </ヘッダー>
    <メイン>
      <div class="コンテナ">
        <!--目次-->
        <div class="content">
          コンテンツ
        </div>
      </div>
      <!--下-->
      <フッター>
        フッター
      </フッター>
    </メイン>
  </本文>
</html>

オンラインデモ: https://codepen.io/mazeyqian/pen/rNeymdG

利点: 底部の高さを自由に拡張できます。

デメリット: 古いブラウザとの互換性の問題 (Flex-Box と Calc) があります。

解決策2: 下部のマイナスマージン

コンテンツ領域はページを埋めるために最小の高さに設定され、下部には同じ高さの負の余白が設定されます。

例:

<html>
  <ヘッド>
    <title>下部(フッター)を実現するための CSS - 解決策 2: 負の距離の下部 `margin`</title>
    <スタイル>
      体 {
        マージン: 0;
      }
      ヘッダー {
        高さ: 50px;
        背景: #20c997;
        位置: 固定;
        上: 0;
      }
      。容器 {
        最小高さ: calc(100vh - 50px);
      }
      。コンテンツ {
        背景: #0d6efd;
      }
      フッター {
        高さ: 50px;
        上マージン: -50px;
        背景: #fd7e14;
      }
    </スタイル>
  </head>
  <本文>
    <!--ヘッダー-->
    <ヘッダー>
      ヘッダ
    </ヘッダー>
    <div class="コンテナ">
      <!--目次-->
      <div class="content">
        コンテンツ
      </div>
    </div>
    <!--下-->
    <フッター>
      フッター
    </フッター>
  </本文>
</html>

オンラインデモ: https://codepen.io/mazeyqian/pen/eYZvjzr

コンテンツの高さが足りない場合に、CSSを使用してフッターを自動的に下部に固定する方法についての記事はこれで終わりです。CSSを使用してフッターを自動的に下部に固定する方法の詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を続けて参照してください。今後とも123WORDPRESS.COMを応援してください。

<<:  Docker コンテナにデプロイされた Django のタイムゾーンの問題

>>:  Nodejs のグローバル変数とグローバルオブジェクトの知識ポイントと使用方法の詳細

推薦する

Dockerイメージの作成、保存、読み込み方法

イメージを作成する方法は 3 つあります。既存のイメージに基づいてコンテナを作成する、ローカル テン...

inline-blockプロパティとの互換性

<br />1年前、インターネット上にはinline-blockプロパティに関する記事は...

初心者向けウェブサイト構築ガイド⑦:美しいウェブサイトを作るのはとっても簡単

私はかつて、ウェブサイトを一度も構築したことのない人々が、初心者向けのウェブサイト構築方法に関する私...

mysql 8.0.20 winx64.zip 圧縮版のインストールと設定方法のグラフィックチュートリアル

mysql 8.0.20 winx64.zip圧縮版のインストールチュートリアルは以下のように記録さ...

MySQL 8.0.14 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.14のインストールと設定のプロセスを記録しています。具体的な内容は...

複数の画像を切り替えるJavaScript

この記事では、複数の画像を切り替えるJavaScriptの具体的なコードを参考までに紹介します。具体...

Nginx 仮想ホストの詳細な分析

目次1. 仮想ホスト1.1 仮想ホストの概念1.2 仮想ホストタイプ2. IP仮想ホストに基づく2....

CSS ピクセルとさまざまなモバイル画面適応の問題に対する解決策

ピクセル解決通常、モニター解像度と呼ばれるものは、実際にはモニターの物理的な解像度ではなく、デスクト...

Vuex データの永続性を実装するためのアイデアとコード

vuexとはvuex: vue.js専用に開発された状態管理ツールで、すべてのコンポーネントの状態を...

測定画像HTTPリクエスト

一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...

MySQL 8.0 DDLアトミック機能と実装原則

1. DDLアトミック性の概要8.0 より前は、統一されたデータ ディクショナリ dd はありません...

リフレッシュリダイレクトを実現する HTML ヘッドタグメタ

コードをコピーコードは次のとおりです。 <html> <ヘッド> <m...

Windows に異なる (2 つの) バージョンの MySQL データベースをインストールする詳細なチュートリアル

1. 原因: SQL ファイルをインポートする必要があるのですが、インポートできません。この文を実行...

Mysqlデータベースの文字化けに対処する方法

MySQL では、データベースの文字化けは一般的に文字セットを設定することで修正できますが、文字化け...

Eclipseを使用してMySQLデータベースに接続する方法を説明します

序文常にエラーが発生するため、MySQL データベースに接続するプロセスを記録します。接続プロセス1...