フロントエンドの担当者であれば、面接でも仕事中でも、「CSS を使用して中央揃えにする」という効果に多かれ少なかれ遭遇するでしょう。今日は、CSS を使用して垂直方向と水平方向に中央揃えするいくつかの方法について記事を書きます。 例1: 最も単純な水平方向の中央揃えから始める マージン: 0 自動; ブロックレベル要素は、margin: 0 auto; を使用して親要素の中央に配置できますが、ブロックレベル要素の幅と高さを設定することを忘れないでください。 HTML部分 <div class="wrap"> <div class="example1"> <p>CSS</p> </div> </div> CSS部分 .例1 { 幅: 200ピクセル; 高さ: 200px; 背景色: オレンジ; } .example1 p { 幅: 100ピクセル; 高さ: 100px; 背景色: 赤; マージン: 0 自動; 行の高さ: 100px; テキスト配置: 中央; } 例2: 要素を水平方向と垂直方向に中央揃えする 既知の幅を持つ位置要素絶対位置 + マージン逆オフセット .wrap { position: relative; background-color: orange; width: 300px; height: 300px; } .example2 { background-color: red; width: 100px; height: 100px; position: absolute; left: 50%; top: 50%; margin: -50px 0 0 -50px; } 位置変換要素の幅が不明な場合、要素の幅が不明な場合は、上記の例2の margin: -50px 0 0 -50px ; を次のように置き換えます: transform: translate(-50%,-50%) ; 例3: フレックスレイアウト HTMLは上記と同じですが、CSSコードが添付されています .warp { 背景色: #FF8C00; 幅: 200ピクセル; 高さ: 200px; ディスプレイ: フレックス; justify-content: center; /*サブアイテムを水平方向に中央揃えにする*/ align-items: center; /*サブ項目を垂直に揃える*/ } .例3 { 背景色: #F00; 幅: 100ピクセル; 高さ: 100px; } もう 1 つはテーブル セル レイアウトですが、紹介したくないのでここでは紹介しません。 例4: 絶対レイアウト div には絶対レイアウトを使用し、margin:auto; を設定し、上、左、右、下の値が等しくなるように設定します。すべて 0 である必要はありません。 HTML部分 <div class="warp"> <div class="example3"> センターディスプレイ</div> </div> CSS部分 .warp { 位置: 相対的; 背景色: オレンジ; 幅: 200ピクセル; 高さ: 200px; } .例3 { 位置: 絶対; 上: 0; 左: 0; 右: 0; 下部: 0; 背景色: 赤; 幅: 100ピクセル; 高さ: 100px; マージン: 自動; } 例5: 子要素の相対的な配置とtranslaY()による垂直方向の中央揃え .warp { 位置: 相対的; 背景色: オレンジ; 幅: 200ピクセル; 高さ: 200px; } .例3 { 位置: 相対的; 上位:50%; 変換:Y座標を-50%に変更します。 背景色: 赤; 幅: 100ピクセル; 高さ: 100px; マージン: 0 自動; } 例6: inline-blockのvertical-align: middleを使用して、after疑似要素を配置する inline-block の vertical-align:middle を使用して after 疑似要素を配置すると、より良い結果が得られます。中央揃えのブロックのサイズは、コンテンツに合わせて折り返して適応することができ、互換性も非常に良好です。欠点は、水平方向の中央揃えでは、インライン ブロック間隔内の空白を考慮する必要があることです (コードの改行に関する従来の問題)。 .warp { テキスト配置: 中央; オーバーフロー:自動; 幅: 200ピクセル; 高さ: 200px; 背景色: オレンジ; } .例3 { 表示: インラインブロック; 背景色: 赤; 垂直位置合わせ: 中央; 幅: 100ピクセル; 高さ: 100px; } .warp:after { コンテンツ: ''; 表示: インラインブロック; 垂直位置合わせ: 中央; 高さ: 100%; 左マージン: -0.25em; /* 間隔をオフセットします。フォントによって異なる場合があります */ } 例7: display: flex-box フレックスボックスレイアウト。これは、あらゆる種類のレイアウトと配置の問題を解決するために特別に設計された究極のレイアウト方法です。利点: さまざまな配置やレイアウトの問題を解決できます。 .warp { ディスプレイ: -webkit-flex; ディスプレイ: -moz-box; ディスプレイ: -ms-flexbox; ディスプレイ: -webkit-box; ディスプレイ: フレックス; -webkit-box-align: 中央; -moz-box-align: 中央; -ms-flex-align: 中央; -webkit-align-items: 中央; アイテムの位置を中央揃えにします。 -webkit-box-pack: 中央; -moz-box-pack: 中央; -ms-flex-pack: 中央; 中央揃え コンテンツの中央揃え: 中央; 幅: 200ピクセル; 高さ: 200px; 背景色: オレンジ; } .例3 { 幅: 100ピクセル; 高さ: 100px; 背景色: 赤; } 写真中央の例1: <div class="warp"> <div class="example3"> <img src="xxxx" alt=""> </div> </div> .warp { 幅: 200ピクセル; 高さ: 200px; 背景色: オレンジ; ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 コンテンツの中央揃え: 中央; } .example3 画像 { 幅: 100ピクセル; 高さ: 100px; 背景色: 青; } 要約する これで、CSS3 で水平中央揃え、垂直中央揃え、水平および垂直中央揃えを実装するサンプル コードに関するこの記事は終了です。CSS3 垂直中央揃えに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
>>: Webデザインにおけるフォームデザインテクニックのまとめ
Linux のデフォルトの ssh リモート ポートは 22 です。デフォルトのポートは、悪意のある...
最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...
ページめくりの問題のシナリオBとCは同じページ(表と裏)にありますページをめくって A をカバーした...
目次1. はじめに2. バックアップとリカバリの簡単な定義3. 復旧計画で考慮すべきいくつかの要素4...
この記事では、一般的な基本的な Linux コマンドとその使用方法を例を使って説明します。ご参考まで...
フォーラムでは、ネットユーザーから「HTML ファイル内の別の HTML ファイルの内容を読み取るこ...
目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...
目次Vuex は単一の状態ツリーを使用するため、すべてのアプリケーション状態が比較的大きなオブジェク...
目次1. 概要2. シンプルなクラスを定義する3. 継承4. public、private、prot...
Nestjs 例外フィルターといえば、非常に強力な .Net のグローバル フィルターについて触れな...
当社には、外部ネットワークからの干渉を受けることが多いサーバーが多数あります。侵入者はポート 338...
High Performance MySQL バージョン 3 (セクション 4.1.7) を見ると、...
Centos7はyumを使用してMySQLをインストールし、リモート接続を実現する方法です。MySQ...
背景今日、CodePen を閲覧していたところ、非常に興味深い効果を見つけました。 CodePen ...
1. VMware vSphere 導入の早期計画のポイント1. vSphereの利点(わずかに)...