CSSページ下部固定を実現する8つの方法の詳細な説明

CSSページ下部固定を実現する8つの方法の詳細な説明

ページを書いているときに、ページの内容が小さくてフッターがページの真ん中に留まってしまうといった状況に遭遇することがよくあります。いずれにしても、下部に表示されず、見苦しいです。次に議論するレイアウトは、要素をブラウザの下部に張り付けるにはどうすればよいかという問題を解決するものです。

方法1: 固定フッターの高さ + 絶対位置

html

<div class="dui-container">
<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>
</div>

CS

.dui-コンテナ{
位置: 相対的;
最小高さ: 100%;
}
主要 {
パディング下部: 100px;
}
ヘッダー、フッター{
行の高さ: 100px;
高さ: 100px;
}
フッター{
幅: 100%;
位置: 絶対;
下: 0
}

効果を見る

方法2: メインコンテンツの下余白に、下の高さと同じ負の値を追加します。

html

<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>

CS

html、本文{
高さ: 100%;
}
主要 {
最小高さ: 100%;
パディング上部: 100px;
パディング下部: 100px;
上マージン: -100px;
下マージン: -100px;
}
ヘッダー、フッター{
行の高さ: 100px;
高さ: 100px;
}

効果を見る

方法3: フッターのmargin-topを負の数に設定する

html

<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>

CS

主要 {
最小高さ: 100%;
パディング上部: 100px;
パディング下部: 100px;
}
ヘッダー、フッター{
行の高さ: 100px;
高さ: 100px;
}
ヘッダ{
下マージン: -100px;
}
フッター{
上マージン: -100px;
}

効果を見る

方法4: flexを設定してフッターのmargin-topをautoに設定する

html

<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>

CS

体{
ディスプレイ: フレックス;
最小高さ: 100vh;
flex-direction: 列;
}
ヘッダー、フッター{
行の高さ: 100px;
高さ: 100px;
}
フッター{
上マージン: 自動;
}

効果を見る

方法5: calc()関数を使用してコンテンツの高さを計算する

HTMLコード

<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>

CSSコード

主要{
min-height: calc(100vh - 200px); /* この 200px はヘッダーとフッターの高さです */
}
ヘッダー、フッター{
高さ: 100px;
行の高さ: 100px;
}

効果を見る

方法6: flexboxを設定して本体をflexに設定する

html

<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>

CSSコード

体{
ディスプレイ: フレックス;
最小高さ: 100vh;
flex-direction: 列;
}
主要{
フレックス: 1
}

効果を見る

方法7: グリッドレイアウトを使用する

HTMLコード

<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>

CSSコード

html{
高さ: 100%;
}
体 {
最小高さ: 100%;
表示: グリッド;
グリッドテンプレート行: 自動 1fr 自動;
}
.フッター{
グリッド行開始: 3;
グリッド行の終了: 4;
}

効果を見る

方法8: display-*

html

<header>ヘッダー</header>
<main>コンテンツ</main>
<footer>フッター</footer>

CS

体 {
  最小高さ: 100%;
  表示: テーブル;
  幅: 100%;
}
主要 {
  表示: テーブル行;
  高さ: 100%;
}

効果を見る

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  DELL R730 サーバーの構成 RAID とインストール サーバー システムとドメイン制御の詳細なグラフィック チュートリアル

>>:  HTML Webページ作成チュートリアル iframeタグを慎重に使用してください

推薦する

Vue で円形プログレスバーを実装する例

データ表示は、常にあらゆる職業の人々が求めているものです。特にフロントエンド開発業界では、データを表...

LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。

0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...

Nginx のアクセス制御とパラメータ調整方法

Nginx グローバル変数Nginx には、$variable 名を通じて使用できるグローバル変数が...

MySQL 5.7 インストール不要の設定グラフィックチュートリアル

Mysql は人気があり、使いやすいデータベース ソフトウェアです。以下は、mysql の無料インス...

Reactのref属性を深く理解する方法

目次概要1. Refsオブジェクトの作成1.1 React.createRef() 1.2React...

JavaScript オブジェクト指向クラス継承ケースの説明

1. オブジェクト指向のクラス継承これまでの章では、JavaScript のオブジェクト モデルがプ...

CentOS 8.4 での Docker パッケージのオフラインインストールの問題について

使用する仮想マシンは、サーバー環境をシミュレートする CentOS 8.4 です。外部ネットワークに...

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G 概要...

Alpine Dockerイメージフォント問題解決操作

1. フォントを実行し、フォント フォルダーを開いて、使用するフォント ファイルを見つけます。 2....

MySQL で重複行を見つけて削除する方法

目次1. 重複行を見つける方法2. 重複行を削除する方法3. 複数の列で重複を見つける方法4. クエ...

MySQL 8.0.21.0 コミュニティ エディションのインストール チュートリアル (詳細な図解)

1. MySQLをダウンロードするMySQL 公式 Web サイトにログインし、MSI インストー...

Linux 名前空間ユーザーの詳細な説明

ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...

ネイティブ Js で実装されたシンプルなシームレス スクロール カルーセルのサンプル コード

シンプルなシームレススクロールカルーセルには多くの抜け穴があり、後から画像を追加するのは非常に不便で...

JSは文字列内の指定された文字列のn番目の出現位置を取得します

文字の位置を取得するための同様の方法について学習します。 charAt() 文字列内の指定された位置...

Vueでのバスの使用に関する詳細な説明

Vue バス メカニズム (バス) vuex を使用するだけでなく、vue 内の親子以外のコンポーネ...