CSSレイアウトで中央揃えレイアウトを実現する方法

CSSレイアウトで中央揃えレイアウトを実現する方法

1. 親コンテナーをテーブルに設定し、子をインライン要素に設定します。

テキストを表示するサブコンテンツに適しています。

<!-- css -->
<スタイル>
    #親 {
        高さ: 200px;
        幅: 200ピクセル;
        境界線: 1px 実線の赤;

        display: table-cell; /* テーブルに変換します */
        text-align: center; /* 水平 */
        vertical-align: middle; /* 垂直 */
    }
    #子供 {
        背景色: 青;
        色: 白;

        display: inline; /* 子要素はインラインまたはインラインブロックに設定されます*/
    }
</スタイル>

<!-- html -->
<div id="親">
    <div id="child">コンテンツ</div>
</div>

2. 親コンテナの相対位置と子コンテナの絶対位置を設定し、余白を使用して中央に配置します。

<!-- css -->
<スタイル>
    #親 {
        高さ: 200px;
        幅: 200ピクセル;
        境界線: 1px 実線の赤;

        position: relative; /* 相対的な位置を設定する */
    }
    #子供 {
        高さ: 50px;
        幅: 50px;
        色: 白;
        背景色: 青;

        /* 絶対位置指定、4方向を0に設定後、余白は自動に設定されます */
        位置: 絶対;
        左: 0;
        上: 0;
        右: 0;
        下部: 0;
        マージン: 自動;
    }
</スタイル>

<!-- html -->
<div id="親">
    <div id="child"></div>
</div>

3. 親コンテナーはフレキシブル ボックスに設定され、子コンテナーは余白を設定します。

<!-- css -->
<スタイル>
    #親 {
        高さ: 200px;
        幅: 200ピクセル;
        境界線: 1px 実線の赤;

        display: flex; /* 親要素をフレキシブルボックスに変換する*/
        display: -webkit-flex; /* Safari */
    }
    #子供 {
        高さ: 50px;
        幅: 50px;
        背景色: 青;

        マージン: 自動;
    }
</スタイル>

<!-- html -->
<div id="親">
    <div id="child"></div>
</div>

4. 親コンテナの相対位置、子コンテナの絶対位置、左余白と上余白の負の半分の幅を設定します。

お子様の幅と高さが固定されている場合に適しています。

<!-- css -->
<スタイル>
    #親 {
        高さ: 200px;
        幅: 200ピクセル;
        境界線: 1px 実線の赤;

        position: relative; /* 相対的な位置を設定する */
    }
    #child { /* 子要素が自身の幅と高さを知っている場合 */
        背景色: 青;

        幅: 50px;
        高さ: 50px;
        上マージン: -25px;
        左マージン: -25px;
        位置: 絶対;
        左: 50%;
        上位: 50%;
    }
</スタイル>

<!-- html -->
<div id="親">
    <div id="child"></div>
</div>

5. 親コンテナの相対位置と子コンテナの絶対位置を設定し、変換属性を使用して水平方向と垂直方向を負の半分に設定します。

お子様の幅や身長が一定でない場合に便利です。

<!-- css -->
<スタイル>
    #親 {
        高さ: 200px;
        幅: 200ピクセル;
        境界線: 1px 実線の赤;

        position: relative; /* 相対的な位置を設定する */
    }
    #child { /* 子要素は自身の幅と高さを知らないので、transform の translate を使用します */
        境界線: 1px 青

        位置: 絶対;
        上位: 50%;
        左: 50%;
        -webkit-transform: translate(-50%,-50%) を変換します。
        -ms-transform: 変換(-50%,-50%);
        -o-transform: 変換(-50%,-50%);
        変換: translate(-50%,-50%);
    }
</スタイル>

<!-- html -->
<div id="親">
    <div id="子">
        <div id="コンテンツ">
            コンテンツ 1
            <br/>
            コンテンツ2
        </div>
    </div>
</div>

6. 親をフレキシブル ボックスに設定し、配置プロパティを設定します。

<!-- css -->
<スタイル>
    #親 {
        高さ: 200px;
        幅: 200ピクセル;
        境界線: 1px 実線の赤;

        display: flex; /* 親要素をフレキシブルボックスに変換する*/
        display: -webkit-flex; /* Safari */
        justify-content: center;/* 水平 */
        align-items: center; /* 垂直 */
    }
    #子供 {
        高さ: 50px;
        幅: 50px;
        背景色: 青;
    }
</スタイル>

<!-- html -->
<div id="親">
    <div id="child"></div>
</div>

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

<<:  MySQLユーザー権限管理の詳細な説明

>>:  JS でカルーセル効果を実現する 3 つの簡単な方法

推薦する

Kali Linux インストール VMware ツールのインストール プロセスと VM インストール vmtools ボタン グレー

Xiaobai は vmtools のインストールを記録します。 1. 意義と機能: VMWARE ...

nginx がどのようにして高いパフォーマンスとスケーラビリティを実現するのかを深く理解する

NGINX の全体的なアーキテクチャは、連携して動作する一連のプロセスによって特徴付けられます。メイ...

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...

docker-swarm をベースにした継続的インテグレーション クラスタ サービスの構築の詳細な説明

序文この記事は私自身の製作過程の簡単な記録です。練習中に質問があれば、一緒に話し合うことができます。...

nginxサーバーのダウンロード、インストール、使用方法の詳細な説明

ダウンロードhttp://nginx.org/en/download.html解凍ダウンロードしたn...

初めてDockerイメージを構築、実行、公開、取得するための詳細な手順

1. はじめに以前は、Python アプリケーションの作成を開始したい場合、最初のステップはマシンに...

JavaScript実行メカニズムの詳細な紹介

目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...

シームレスなカルーセル効果を実現するネイティブ js

参考までに、ネイティブjsでカルーセル効果(シームレススクロール)を実現しています。具体的な内容は以...

Vue は書籍管理ケースを実装します

この記事では、書籍管理を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は次の...

HTML と CSS の基礎 (必読)

(1) HTML: ハイパーテキストマークアップ言語。主に「ヘッダー」と「ボディ」の2つの部分で構...

MySQL の時間差関数 TIMESTAMPDIFF と DATEDIFF の使用

時間差関数 TIMESTAMPDIFF と DATEDIFF の使用SQL ステートメント、特にスト...

nginx のロケーションで URI の傍受を実装する方法

例:場所のルートとエイリアスルートディレクティブは、ルートによって設定されたディレクトリに検索ルート...

HTML における li タグの水平配置の例

ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...

MySQL マルチテーブル共同クエリ操作例の分析

この記事では、MySQL のマルチテーブル共同クエリ操作について説明します。ご参考までに、詳細は以下...

win2008 で mysql8.0.11 を mysql8.0.17 にアップグレードする詳細な手順

アップグレードの背景: MySQLの下位バージョンの脆弱性を解決するために、MySQLはMySQL ...