CSS3は水平方向の中央揃え、垂直方向の中央揃え、水平方向と垂直方向の中央揃えのサンプルコードを実装しています。

CSS3は水平方向の中央揃え、垂直方向の中央揃え、水平方向と垂直方向の中央揃えのサンプルコードを実装しています。

フロントエンドの担当者であれば、面接でも仕事中でも、「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 をよろしくお願いいたします。

<<:  Vueプロジェクトでページジャンプを実装する方法

>>:  Webデザインにおけるフォームデザインテクニックのまとめ

推薦する

React と Threejs を使用して VR パノラマ プロジェクトを作成する詳細なプロセス

最近、 Three.jsでReactを使用して、720 度のパノラマ写真を閲覧できるプロジェクトを構...

Vue 計算プロパティ実装トランスクリプト

この記事では、Vueの計算プロパティ実装レポートカードを参考に共有します。具体的な内容は次のとおりで...

フォーム内の無効なフォームフィールドの値を送信する方法 サンプルコード

フォーム内のフォーム フィールドが無効に設定されている場合、フォーム フィールドの値は送信されません...

JavaScriptエンジンV8の実行プロセスの詳細な説明

目次1. V8ソース2. V8サービスターゲット3. V8の初期アーキテクチャIV. V8の初期アー...

CSS でホバー ドロップダウン メニューを実装する方法

いつものように、今日は非常に実用的な CSS 効果についてお話します。マウスがボタンに移動すると、ド...

Vue3 (V) HTTPライブラリaxiosの統合の詳細

目次1. axiosをインストールする2. アクシオスの使用1.ホームページでaxiosを参照する2...

MySQL データベース インデックスの面接の質問 (基本的なプログラマー スキル)

目次導入インデックスの原則1. データページ2. ページディレクトリ3. インデックス原則分析要約す...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

Web フォントの読み込みを最適化する方法をご存知ですか?

タイトル通りです!一般的に使用される font-family はブラウザの組み込みフォントを読み込み...

Vueでパスワードの表示と非表示機能を実装するアイデアを詳しく解説

効果: アイデア:入力タイプ属性を使用して、タイプ値がテキストの場合はパスワードを表示し、タイプ値が...

docker ベースの mariadb のインストール構成プロセスの分析

1. インストール dockerhub を通じてインストールする mariadb のバージョンを検索...

MySQL 5.5 の導入に関する問題

MySQL の導入現在、会社ではプラットフォーム運用を通じてMySQLを導入しています。金曜日、プラ...

Windows が MySQL サービスを開始できず、エラー 1067 を報告する場合の解決策

突然、MySQLにログインすると、アクセスが拒否されたか、データベースに接続できないと表示されました...

Ubuntu 18.04 で中国語入力方法を設定する方法

Ubuntuの最新バージョンでは、ユーザーは中国語入力方法を別途ダウンロードする必要がなくなりました...

ElementUI コンポーネント el-dropdown (落とし穴)

選択して変更: クリックすると現在の値が表示され、ページ UI が表示され、CSS スタイルが変更さ...