幅と高さが可変の要素を中央に配置するための CSS ソリューション

幅と高さが可変の要素を中央に配置するための CSS ソリューション

1. 水平中央

公開コード:

html:

<div class="parent">
    親
    <br>
    <div class="child">
        子供
    </div>
</div>

css:

html、本文{
    マージン: 0;
    幅: 100%;
    高さ: 100%;

    。親 {
        幅: 100%;
        高さ: 100%;
        背景: #fac3fa;
        
        。子供 {
            幅: 50%;
            高さ: 50%;
            背景: #fe9d38;
        }
    }
}

解決策 1: text-align (親) + inline-block (子)

コード:
css:

。親 {
    テキスト配置: 中央;

    。子供 {
        表示: インラインブロック;
    }
}

解決策 2: ブロックレベル要素 + margin: 0 auto;

。子供 {
    display: block; // 非ブロックレベル要素の場合は margin: 0 auto を設定します。
}

解決策3: 絶対値 + 変換

。親 {
    位置: 絶対;
    左: 50%;
    変換: translateX(-50%);
}

オプション4: フレックス

注: flex を使用しているため、ここでは親と<br>は削除されています。

。親 {
    ディスプレイ: フレックス;
    コンテンツの中央揃え: 中央;
}

2. 垂直方向の中央揃え

公開コード:
html:

<div class="parent">
    <div class="child"></div>
</div>

css:

html、本文{
    マージン: 0;
    幅: 100%;
    高さ: 100%;
}
。親 {
    表示: テーブルセル;
    幅: 800ピクセル;
    高さ: 500px;
    背景: #fac3fa;

    。子供 {
        幅: 50%;
        高さ: 50%;
        背景: #fe9d38;
    }
}

解決策 1: table-cell (親) + vertical-align (子)

。親 {
    表示: テーブルセル;
    垂直位置合わせ: 中央;
}

解決策2: 絶対値 + 変換

。親 {
    位置: 相対的;
    
    。子供 {
        位置: 絶対;
        上位: 50%;
        変換: translateY(-50%);
    }
}

オプション3: フレックス

。親 {
    ディスプレイ: フレックス;
    アイテムの位置を中央揃えにします。
}

3. 水平および垂直の中央揃え

公開コードは[垂直中央]と同じです

一般的な解決策 1: 絶対値 + 変換

。親 {
    位置: 相対的;
    
    。子供 {
        位置: 絶対;
        上位: 50%;
        左: 50%;
        変換: translate(-50%, -50%);
    }
}

一般的な解決策2: フレックス

。親 {
    ディスプレイ: フレックス;
    アイテムの位置を中央揃えにします。
    コンテンツの中央揃え: 中央;
}

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

<<:  XML構文の詳細な説明

>>:  JavaScript での && および || 演算子の使用例

推薦する

MySQL 5.7 mysql コマンドラインクライアントの使用コマンドの詳細

MySQL 5.7コマンドを使用するMySQLコマンドラインクライアント1. パスワードを入力してく...

HTML タグのメタ概要、HTML5 のヘッド メタ属性の概要

序文metaはhtml言語のhead領域にある補助タグです。おそらく、これらのコードは不要だと思うで...

MySQL 5.7.23 のインストールと設定方法のグラフィックチュートリアル

この記事では、参考として MySQL 5.7.23 のインストール チュートリアルを記録します。 1...

MySQL のロードバランサーとして nginx を使用する方法

注意: nginxのバージョンは1.9以上である必要があります。nginxをコンパイルするときに、-...

MYSQL 文字関数を使用してデータをフィルタリングすることに関する質問

問題の説明:構造:テストには2つのフィールドがあります。これらは col1 と col2 で、どちら...

Linuxの相対パスと絶対パスの使用

01. 概要絶対パスと相対パスはシェル環境でよく使用され、それぞれに独自の用途があります。相対パスの...

MySQL 5.7 でブロックポジショニング DDL の問題を解決する

前回の記事「MySQL テーブル構造の変更、メタデータ ロックを知っておく必要があります」では、MD...

HTMLフォーム要素の包括的な理解

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<!DO...

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

Linux の fsevents モジュールによって発生する npm ls エラーの解決方法の詳細な説明

Mac で開発されたプロジェクトがあり、パッケージ npm i がインストールされており、すべて正常...

Dockerコンテナでの静的ウェブサイトレイアウトの実装

サーバーの配置数日間無料で使用できるクラウドサーバー(Alibaba Cloud、Huawei Cl...

ウェブページのFOUC問題によるウェブページの混乱の解決策

FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...

中国語と英語のフォント名の比較表(FounderとArphicを含む)

CSS ファイルでは、フォント名が文字化けしていることがよくあります。これは、作成者が中国語フォン...

Vue の foreach 配列と js の traversal 配列の書き方の説明

Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...

mysql5.7.20 のインストールと設定方法のグラフィック チュートリアル (mac)

MySQL 5.7.20のインストールと設定方法のグラフィックチュートリアルをあなたと共有します1...