CSS スティッキーフッタークラシックレイアウトの実装

CSS スティッキーフッタークラシックレイアウトの実装

スティッキーフッターレイアウトとは何ですか?

一般的な Web ページのレイアウトは、通常、ヘッダー部分、コンテンツ部分、フッター部分に分かれています。ヘッダー領域とコンテンツ領域のコンテンツが小さい場合、フッター領域はコンテンツ領域と一緒に配置されず、常に画面の下部に表示されます。コンテンツ領域に大量のコンテンツが含まれている場合、フッターはドキュメントのフローに応じて拡張され、常にページの下部に表示されます。これは伝説的なスティッキーフッターレイアウトです。分かりやすいと思いませんか?わからなくても大丈夫です。簡単な例を挙げてみましょう。

一般的に、モバイル ページでは、コンテンツの高さが 1 画面に収まらない場合はフッターが画面の下部に近くなり、コンテンツの高さが 1 画面を超える場合はフッターがそれに従います。

方法1: フレックスボックスレイアウト

  • 親コンテナの表示はフレックスで、項目の順序は垂直に指定されています。
  • コンテンツ要素のフレックスは 1 です。つまり、余分なスペースがあれば拡大します。
  • フッターは高さを定義します

デモを見るにはクリックしてください: Flexbox レイアウトで固定フッターを実装します

<div class="コンテナ">
  <div class="content">コンテンツ</div>
  <div class="footer">フッ​​ター</div>
</div>
体 {
  マージン: 0;
}
。容器 {
  ディスプレイ: フレックス;
  flex-direction: 列;
  最小高さ: 100vh;
}
。コンテンツ {
  フレックス: 1;
  /*必須ではありません*/
  幅: 100%;
  高さ: 300px;
  行の高さ: 300px;
  テキスト配置: 中央;
  色: #fff;
  フォントサイズ: 30px;
  フォントの太さ: 太字;
  背景色: #71a8da;
  /*必須ではありません*/
}
.フッター{
  高さ: 60px;
  /*必須ではありません*/
  幅: 100%;
  行の高さ: 60px;
  テキスト配置: 中央;
  色: #fff;
  フォントサイズ: 30px;
  フォントの太さ: 太字;
  背景色: #f85f2f;
  /*必須ではありません*/
}

方法 2: padding-bottom + 負の margin-top

  • コンテナラッパーは、最小高さ100vh(vh:ビューポートの高さ)を指定する必要があります。
  • コンテンツはコンテンツ コンテナーに書き込まれ、フッター コンテナーの高さとして padding-bottom が指定されます。
  • フッターは高さとマージントップを指定し、マージントップは高さの負の値です。

デモを見るにはクリックしてください: padding-bottom + negative margin-top で固定フッターを実現

<div class="wrapper">
  <div class="content">コンテンツ</div>
</div>
<div class="footer">フッ​​ター</div>
体 {
  マージン: 0;
}
.ラッパー{
  幅: 100%;
  最小高さ: 100vh;
}
。コンテンツ {
  /*padding-bottom はフッターの高さと同じである必要があります*/
  パディング下部: 60px;
  /*必須ではありません*/
  幅: 100%;
  高さ: 400px;
  行の高さ: 400px;
  テキスト配置: 中央;
  色: #fff;
  フォントサイズ: 30px;
  フォントの太さ: 太字;
  背景色: #71a8da;
  /*必須ではありません*/
}
.フッター{
  /*margin-top はフッターの高さの負の値と同じである必要があります*/
  上マージン: -60px;
  高さ: 60px;
  /*必須ではありません*/
  幅: 100%;
  行の高さ: 60px;
  テキスト配置: 中央;
  色: #fff;
  フォントサイズ: 30px;
  フォントの太さ: 太字;
  背景色: #f85f2f;
  /*必須ではありません*/
}

ヒント: 2 つの/**非必須**/の間の部分は、固定フッター レイアウトを実装するために必要なコードではありません。これは単なる補助的なスタイルであり、削除できます。

クラシック CSS スティッキー フッター レイアウトの実装に関するこの記事はこれで終わりです。CSS スティッキー フッターに関する関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

<<:  DD DT DLタグの使用例

>>:  vue3 学習ノートにおける axios の使用の変更の概要

推薦する

EDMをHTMLで記述する際の注意点まとめ(メール送信時の一般的な注意点)

フォーマットエンコーディング1. ページの幅は600~800px、長さは1024px以内に設定してく...

フォームから Vue ElementUI を使用してログイン効果を実装する例

目次1. ElementUIで基本的なスタイルを構築する2. [送信]ボタンをクリックして、アカウン...

nginx プロキシでの複数の 302 応答の解決策 (nginx Follow 302)

proxy_intercept_errors と recursive_error_pages を使...

Linux での MongoDB のインストールと設定のチュートリアル

MongoDBインストールYumを使用してインストールすることを選択する1. repoファイルを作成...

シンプルなドラッグ効果を実現するJavaScript

この記事では、ドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...

Reactにおける制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

目次制御されていないコンポーネント制御コンポーネント知らせ結論は制御されていないコンポーネントフォー...

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

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

MySQLのREDOログとUNDOログの詳細な説明

MySQL ログ システムで最も重要なログは、REDO ログとアーカイブ ログです。後者は MySQ...

Docker で Redis クラスターを素早く構築する方法の例

Redis クラスターとはRedis クラスターは、R​​edis が提供する分散データベース ソリ...

Node.js の TCP 接続処理のコア プロセス

数日前、友人と Node.js の epoll とリクエスト処理に関する知識を交換しました。今日は、...

mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...

純粋な CSS を使用してユーザーが Web ページのコンテンツをコピーするのを防ぐ方法

序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...

MySQL の where と on の違いと、いつ使用するか

以前、テーブル結合クエリを書いていたとき、whereとonの違いがわからず、SQLに小さな問題が発生...

Bツリー挿入プロセスの概要

前回の記事 https://www.jb51.net/article/154153.htm では、B...

Vue テンプレートのコンパイルの詳細

目次1. 解析する1.1 傍受のルール1.2 傍受プロセス部分1.3 パーサーの概要2. 最適化する...