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 つの簡単な方法

推薦する

this.parentNode.parentNode (親ノードの親ノード) はどういう意味ですか?

親ノードの親ノード、例えば、このような段落がありますHTML:コードをコピーコードは次のとおりです。...

Linux システムコマンドのメモ

この記事では、Linux システム コマンドについて説明します。ご参考までに、詳細は以下の通りです。...

CSS パフォーマンスの最適化 - will-change の使用方法の詳細な説明

will-change は、要素にどのような変更が行われるかをブラウザに伝え、ブラウザが事前に最適化...

動的および静的分離を実現する nginx のサンプルコード

1. nginxの動的と静的の分離の簡単な設定web1は静的サーバー、web2は動的サーバー、nod...

IEウェブページのポップアップウィンドウの共通パラメータは自分で設定できます

ポップアップは、現在のウィンドウにメニューツールバーがあるかどうかとは関係ありません。ページにスクリ...

v-model 双方向バインディングデータを実装する vue カスタム コンポーネントのサンプル コード

プロジェクトでは、プロジェクトが呼び出すカスタム パブリック コンポーネントに遭遇します。通常、pr...

MySQL で最大接続数を正しく変更する 3 つの方法

MySQL データベースをインストールすると、デフォルトの MySQL データベースの最大接続数が ...

display:olck/none を使用してメニューバーを作成する方法

display:bolck/none によるメニューバーの完成の効果 図 1:まず、完成したエフェク...

MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法

説明する2 つの日付間の時間間隔を返します。文法DateDiff(間隔、日付1、日付2 [、週の最初...

vite2.0+vue3 モバイルプロジェクトの詳細な説明

1. 関連する技術的なポイントバイト版ヴュー3 ts統合ルーティングvuexを統合するAxiosを統...

JSONオブジェクトのキーを置き換える最良の方法

JSON (JavaScript Object Notation、JS Object Notatio...

Linux での MySQL 5.6.24 (バ​​イナリ) 自動インストール スクリプト

この記事では、Linux環境でのmysql5.6.24自動インストールスクリプトコードを参考までに共...

一般的なブラウザ互換性の問題(概要)

ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...

Docker を使用して Jenkins をインストールするためのサンプル コード

Dockerコンテナのインストール時に遭遇しやすい2つの問題1.ポートはすでに割り当てられています(...

Vueコンポーネントの基本のまとめ

コンポーネントの基本1 コンポーネントの再利用コンポーネントは再利用可能な Vue インスタンスです...