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 のグローバル変数とグローバルオブジェクトの知識ポイントと使用方法の詳細

推薦する

MySQLデータストレージプロセスパラメータの詳細な例

MySQL ストアド プロシージャ パラメータには、in、out、inout の 3 種類があります...

Nginx+ModSecurity セキュリティモジュールの導入

目次1. ダウンロード2. 展開1.Nginxのデプロイメント2. ModSecurityの展開3....

JavaScriptの信頼性の低い未定義

undefined JavaScript では、値が undefined かどうかを判断したい場合は...

Vueプロジェクトを大画面に適応させる方法の例

レムの簡単な分析まず、remはCSS単位です。pxの固定ピクセル単位と比較すると、remはより柔軟性...

HTML で水平ナビゲーション構造を設定する方法

この記事では、主にリスト構造を使用して水平ナビゲーション構造を設定する 2 つの方法を紹介します。こ...

折りたたまれたテーブル行要素のバグ

例を見てみましょう。コードは次の通り非常にシンプルです。コードをコピーコードは次のとおりです。 &l...

JavaScriptは両端キューを実装する

この記事の例では、両端キューを実装するためのJavaScriptの具体的なコードを参考までに共有して...

CSSは半透明の境界と複数の境界のシーン分析を実現します

シナリオ 1:半透明の境界線を実現するには: CSS スタイルのデフォルトの動作により、背景色はコン...

Vue でのテキストエリア適応高さソリューションの実装

目次隠れた問題適応高さのソリューションまず解決策を提示してください。Vueスタックが必要な学生はvu...

Dockerのヘルス検出メカニズム

コンテナの場合、最も単純なヘルスチェックはプロセス レベルのヘルスチェックであり、プロセスが稼働して...

Vueのカスタムイベントコンテンツ配信の詳細な説明

1. これは理解するのが少し複雑なので、原理を注意深く読んで自分で入力していただければ幸いです。 &...

ウェブページの HTML コード: スクロールテキストの作成

このセクションでは、Web ページ内のテキストをスクロールしたり、スクロール プロパティを制御できる...

Linux コマンドラインからファイルを削除する実用的な方法

rm コマンドrm コマンドは、ファイルを削除するときによく使用されるコマンドです。ファイルまたはデ...

表のセルの内容が超過した場合に省略記号効果を表示する(実装コード)

例示するフロントエンド開発では、セルの幅を制限し、コンテンツが制限を超える部分に省略記号を表示する必...

純粋な CSS3+DIV で小さな三角形の境界線効果を実現するためのサンプル コード

具体的なコードは次のとおりです。 HTMLコードは次のとおりです <div class=&qu...