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

推薦する

CSS ワールド - コード実践: 画像の Alt 情報の表示

ただし、デフォルトの src を持つ <img> 要素を使用してスクロール読み込み効果を...

Vue で変数式セレクターを実装する方法

目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...

Linux ディスクデバイスと LVM 管理コマンドの詳細な例

序文Linux オペレーティング システムでは、デバイス ファイルは特別なタイプのファイルです。これ...

jsを使ってシンプルなディスククロックを実現する

この記事では、参考までに、シンプルなディスククロックを実装するためのjsの具体的なコードを紹介します...

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

MySQL ストアド関数(カスタム関数)の定義と使用方法の詳細な説明

ストアド関数ストアド関数とは: SQL コードの一部をカプセル化し、特定の関数を完了して、結果を返し...

alpineをベースにdockerfileで作成したクローラーScrapyイメージの実装

1.アルパインイメージをダウンロードする [root@DockerBrian ~]# docker ...

HTML テーブルのオーバーフローの解決方法

テーブルが広い場合は、あふれてしまう可能性があります。たとえば、左と右の 2 つの div がありま...

Linux および Unix サーバーのセキュリティを強化する方法

ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける...

JavaScriptのクローン作成についての簡単な説明

目次1. 浅いクローニング2. ディープクローニング1. 浅いクローニング浅いクローンでは配列やオブ...

Vueプロジェクトはログインと登録の効果を実現します

この記事の例では、ログインと登録の効果を実現するためのvueプロジェクトの具体的なコードを共有してい...

マーキー要素は、スクロールするフォントや画像などの効果を実装します。

マーキー要素を使用すると、単純なフォント(画像など)のスライドやその他の効果を実現できます。コードを...

CSS シャドウアニメーションの最適化のヒント

このテクニックは、この記事から来ています - シルキーでスムーズなパフォーマンスでボックスシャドウを...

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...

CSS で実現される HTML 背景色のグラデーション

エフェクトのスクリーンショット:実装コード:コードをコピーコードは次のとおりです。 <!DOC...