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

推薦する

ウェブページをデザインする際に注意すべきいくつかの問題

Web デザインは、個人の好みや Web ページの内容に応じて、デザインのレイアウトが常に変化します...

よくある Linux 英語エラーの中国語翻訳 (初心者必見)

1.コマンドが見つかりません コマンドが見つかりません2. そのようなファイルまたはディレクトリは...

HTML+CSS を使用して、画像の右上隅に削除の十字と画像削除ボタンを追加します。

記録として、将来使用される可能性があり、困っている友人も使用できます。 BBはもうやめて、まずはレン...

LinuxカーネルとSVNバージョン間の競合の解決策

現象システムは Linux システムカーネルを正常にコンパイルできましたが、SVN をインストールし...

ZabbixはPSK共有キーを使用してサーバーとエージェント間の通信を暗号化します。

Zabbix バージョン 3.0 以降、Zabbix サーバー、Zabbix プロキシ、Zabbi...

Vue の大容量ファイルアップロードとブレークポイント再開アップロードの実装

目次ファイルアップロードのための2つのソリューションファイルストリーム(フォームデータ)に基づくクラ...

JQueryセレクターの詳細な説明

目次基本的なセレクター:レベルセレクター:属性セレクター:フィルターセレクター:フォーム属性セレクタ...

js で継承を実装する 5 つの方法

コンストラクタの借用この手法の基本的な考え方は単純です。サブタイプ コンストラクター内からスーパータ...

JavaScript の for ループと二重 for ループの詳細な説明

forループfor ループは配列の要素をループします。文法: for (初期化変数; 条件式; 繰り...

WeChatアプレットキャンバスが署名機能を実装

WeChatアプレットプロジェクトでは、開発モジュールに手書き署名機能が含まれ、WeChatアプレッ...

vue3のテレポート瞬間移動機能の使い方を詳しく解説

vue3テレポート瞬間移動機能の使用は参考用です。具体的な内容は次のとおりです。テレポートは通常、瞬...

MySQL の遅いクエリの例

導入スロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメントを記録で...

CentOS 7.4 で MySQL 5.7.28 バイナリモードをインストールする方法

Linuxシステムバージョン: CentOS7.4 MySQL バージョン: 5.7.28 Linu...

ウェブタイポグラフィにおける致命的な意味的ミス 10 選

<br />これは、Steven D が書いた Web フロントエンド開発デザインの基本...

Zabbix設定 DingTalkアラーム機能実装コード

必要Zabbix で DingTalk アラームを設定する方法は、Prometheus で Ding...