CSS レイアウト チュートリアル: 垂直方向の中央揃えを実現する方法

CSS レイアウト チュートリアル: 垂直方向の中央揃えを実現する方法

序文

最近、フロントエンドの知識をまとめており、いくつかのインタビューにも参加しました。インタビュー中に、垂直方向の中央揃えを要求する質問に遭遇しました。ここでこれをまとめ、知識を固めたいと思います。

CSS 垂直中央揃え

1. 中央揃えを実現するには、line-height を使用します。この方法は、純粋なテキストに適しています。

<!-- css -->
<スタイル>
。両親 {
  高さ: 400px;
  行の高さ: 400px;
  幅: 400ピクセル;
  境界線: 1px 実線の赤;
  テキスト配置: 中央;
}

。子供 {
  背景色: 青;
  色: #fff;
}
 </スタイル>
</head>

<本文>
<!-- html -->
<div class="親">
   <span class="child">CSS レイアウト、垂直方向の中央揃え</span>
</div>
</本文>

2. 親コンテナの相対的な配置と子コンテナの絶対的な配置を設定することで、ラベルは余白を通じて中央に配置されます。

<!-- css -->
<スタイル>
。両親 {
  高さ: 400px;
  幅: 400ピクセル;
  境界線: 1px 実線の赤;
  位置: 相対的;
}

。子供 {
  幅: 200ピクセル;
  高さ: 100px;
  行の高さ: 100px;
  テキスト配置: 中央;
  色: #fff;
  背景色: 青;
  /* 4 つの方向を 0 に設定し、マージンを自動に設定して中央に配置します */
  位置: 絶対;
  上: 0;
  右: 0;
  下部: 0;
  左: 0;
  マージン: 自動;
}
 </スタイル>
</head>

<本文>
<!-- html -->
<div class="親">
  <span class="child">CSS レイアウト、垂直方向の中央揃え</span>
</div>
</本文>

3. 柔軟なレイアウト flex 親は display: flex に設定され、子は margin auto に設定されて適応的な中央配置が実現されます。

  <!-- css -->
  <スタイル>
    。両親 {
      高さ: 400px;
      幅: 400ピクセル;
      境界線: 1px 実線の赤;
      ディスプレイ: フレックス;
    }

    。子供 {
      幅: 200ピクセル;
      高さ: 100px;
      行の高さ: 100px;
      テキスト配置: 中央;
      色: #333;
      背景色: 黄色;
      マージン: 自動;
  }
 </スタイル>
</head>

<本文>
 <!-- html -->
  <div class="親">
    <span class="child">CSS レイアウト、垂直方向の中央揃え</span>
  </div>
</本文>

4. 親は相対的な位置に設定され、子は絶対的な位置に設定され、これは変位変換によって実現されます。

  <!-- css -->
  <スタイル>
    。両親 {
      高さ: 400px;
      幅: 400ピクセル;
      境界線: 1px 実線の赤;
      位置: 相対的;
    }

    。子供 {
      幅: 200ピクセル;
      高さ: 100px;
      行の高さ: 100px;
      テキスト配置: 中央;
      色: #fff;
      背景色: 緑;
      位置: 絶対;
      上位: 50%;
      左: 50%;
      変換: translate(-50%, -50%);
    }
  </スタイル>
</head>

<本文>
  <!-- html -->
  <div class="親">
    <span class="child">CSS レイアウト、垂直方向の中央揃え</span>
  </div>
</本文>

5. 親はエラスティック ボックスを設定し、エラスティック ボックス関連のプロパティを設定します。

 <!-- css -->
 <スタイル>
    。両親 {
      高さ: 400px;
      幅: 400ピクセル;
      境界線: 1px 実線の赤;
      ディスプレイ: フレックス;
      justify-content: center; /* 水平 */
      align-items: center; /* 垂直 */
    }

    。子供 {
      幅: 200ピクセル;
      高さ: 100px;
      色: 黒;
      背景色: オレンジ;
    }
  </スタイル>
</head>

<本文>
  <!-- html -->
  <div class="親">
    <span class="child"></span>
  </div>
</本文>

6. グリッドレイアウトでは、親がテーブルに変換され、子がインラインまたはインラインブロックに設定されます。 (vertical-align: middle を使用するための前提条件は、インライン要素と、display 値が table-cell である要素であることに注意してください)。

 <!-- css -->
 <スタイル>
    。両親 {
      高さ: 400px;
      幅: 400ピクセル;
      境界線: 1px 実線の赤;
      表示: テーブルセル;
      テキスト配置: 中央;
      垂直位置合わせ: 中央;
    }

    。子供 {
      幅: 200ピクセル;
      高さ: 100px;
      色: #fff;
      背景色: 青;
      display: inline-block; /* 子要素の設定はインラインまたはインラインブロック*/
    }
  </スタイル>
</head>

<本文>
  <!-- html -->
  <div class="親">
    <span class="child"></span>
  </div>
</本文>

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

<<:  シームレスなトークンリフレッシュを実現する方法

>>:  Webスキル: 複数のIEバージョンの共存ソリューション IETester

推薦する

Server-U 14バージョンのインストールと使用方法

Server-Uソフトウェアの紹介Server-U は非常に強力なファイル マネージャーです。FTP...

nginx httpモジュールのデータ保存構造の概要

このセクションから、http モジュールの実装原理について説明します。http モジュールで非常に重...

VMwareを使用したPermeateレンジシステムのインストール手順の詳細説明

1. 背景私たちは時々社内研修を行っており、実験環境をよく利用しています。最初はdockerコンテナ...

Vueタブとキャッシュページを切り替えるいくつかの方法

目次1. 切り替え方法2. タブを動的に生成する3. キャッシュコンポーネント3.1 キープアライブ...

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

LinuxにMySQL 5.7.18をインストールする方法1. MySQLをダウンロードします。公...

Linux\Nginx 環境での仮想ドメイン名の設定とテスト検証

Nginx 仮想ドメイン名設定を使用すると、ドメイン名を購入せずに特定のドメイン名を介してローカル ...

Vue3 Vue CLI マルチ環境設定

目次1. はじめに2. 切り替え1. 開発および本番環境の設定ファイルを追加する2. 複数の環境をサ...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...

波効果を作成するための CSS のトリック

純粋な CSS を使用して波の効果を実現することは、常に非常に困難でした。 波形曲線を実現するにはベ...

vue3で注意すべき2つのポイントを詳しく解説:セットアップ

目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...

Dockerfile における VOLUME と docker -v の違い

Dockerfile でのボリュームのマウントと docker -v コマンドによるマウントには明ら...

CSS ボックスを中央揃えするためのよく使われるいくつかの方法 (要約)

最初のもの: CSSの位置プロパティの使用 <スタイル タイプ="text/css&...

レスポンシブ Web デザインが価値のない 5 つの理由

この記事は Tom Ewer の Managewp ブログからのもので、現在人気のレスポンシブ デザ...

CSSスタイルの記述順序と命名規則と注意事項

書き順の重要性ブラウザのリフローを減らし、ブラウザのDOMレンダリングパフォーマンスを向上させる①:...

HTML 代替カラーコードを実現する n 通りの方法 サンプルコード

この記事では、主に HTML のサンプル コードを紹介し、次のように交互に色を変更する方法を共有しま...