検索
ホームページウェブフロントエンドCSSチュートリアルCSS の垂直方向の中央揃えを実現するための 7 つのテクニックを共有します (コード付き)

Web ページ上で CSS を垂直方向にセンタリングする需要はとどまるところを知らず、その難しさは決して簡単ではありません。各開発者が研究した結果、CSS の垂直方向センタリング手法は 10 種類近くあると言われていますが、まだ数は少ないです。一部の企業では、CSS の垂直方向のセンタリングのスキルが面接の質問として考慮されています。今日は、CSS の垂直方向のセンタリングのさまざまな方法について説明します。

1. 行の高さ

適用可能なシナリオ: 単一行テキストの垂直方向の中央揃え手法

この方法は最もよく知られています。単一行テキストで一般的です。テキストを適用する最も一般的な方法は、ボタンなどのオブジェクト、またはドロップダウン ボックスやナビゲーションなどの要素です。この方法の原理は、単一行のテキストの行の高さを設定した後、テキストが行の高さの垂直方向の中央に配置されることです。この原理を使用すると、垂直方向の中央揃えの要件を簡単に達成できます。

<div class="content">Lorem ipsam.</div>
.content{
  width: 400px;
  background: #ccc;
  line-height:100px;
  margin: auto;
}

2. 行の高さのインラインブロック

適用可能なシナリオ: 複数のオブジェクトの垂直方向の中央揃えテクニック

まず、この方法で行要素の垂直方向の中央揃えが実現できれば、もちろん複数行ができない理由はありません〜 ただし、複数の要素または複数行の要素を1つの行要素として扱う必要があるため、ラップする必要がありますこのデータをもう 1 つのレイヤーに設定し、inline-block オブジェクトの外側のオブジェクトで inline-block を使用して高さの設定を置き換えます。これにより、垂直方向のセンタリングの目的を達成できます。データにはタイトルが含まれます。また、コンテンツも含めて通常通り縦方向に中央揃えにすることもできます。

<div class="box box2">
  <div class="content">
    立马来看Amos实际完成的    <a href="http://csscoke.com/2015/07/31/nth-child_rwd_album/">
      CSS3精美相册效果    </a>
    效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!  </div>
</div>
h2{
  text-align: center;
}
.box{
  width: 500px;
  border: 1px solid #f00;
  margin: auto;
  line-height: 200px;
  text-align: center;
}
.box2 .content{
  display: inline-block;
  height: auto;
  line-height:1;
  width: 400px;
  background: #ccc;
}

3.:インラインブロックの前

適用可能なシナリオ:複数のオブジェクトに対する CSS 垂直方向の中央揃え手法

:疑似クラスの前element inline-block 属性を使用した書き込み方法は、非常に伝統的な垂直方向の中央揃え手法である必要があります。この方法の利点は、特別な高さを設定することなく子要素を中央揃えできることです。 :before 疑似クラスを使用します。要素を 100% high inline-block に設定し、次に中央揃えが必要な子要素を inline-block プロパティに設定すると、vertical-align:middle を使用して垂直中央揃えの目的を達成できます。これまでの優れた垂直方向のセンタリング ソリューションでは、インライン ブロック要素間の 4 ~ 5 ピクセルのスペースという小さな欠陥のみに特別に対処する必要がありましたが、非常に実用的でもありました。

<h2 id="before-nbsp-nbsp-inline-block">3.:before + inline-block</h2>
<div class="box box3">
  <div class="content">
    立马来看Amos实际完成的    <a href="http://csscoke.com/2015/07/31/nth-child_rwd_album/">
      CSS3精美相册效果    </a>
    效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!  </div>
</div>
h2{
  text-align: center;
}
.box{
  width: 500px;
  height: 250px;
  border: 1px solid #f00;
  margin: auto;
  text-align: center;
}
.box::before{
  content:&#39;&#39;;
  display: inline-block;
  height: 100%;
  width: 0;
  vertical-align: middle;
}
.box .content{
  width: 400px;
  background: #ccc;
  display: inline-block;
  vertical-align: middle;
}

4. 絶対マージンの負の値

適用可能なシナリオ: 複数行テキストの垂直方向の中央揃えスキル

絶対位置決めが必要だと誰が言ったでしょうか。使用量が少ない? Amos は、使用量を減らしても増やしても問題はないと考えています。重要な点は、それを適切に使用するかどうかです。この例では、絶対配置でスペースの高さの 50% をキャプチャし、次にマージンを設定します。中心に配置された要素の上部をマイナスの半分に設定すると、要素が中心に配置されます。この方法は長年にわたって受け継がれてきた方法です。

<h2 id="absolute-nbsp-nbsp-margin-nbsp-負值">4.absolute + margin 負值</h2>
<div class="box box4">
  <div class="content">
    立马来看Amos实际完成的    <a href="http://csscoke.com/2015/07/31/nth-child_rwd_album/">
      CSS3精美相册效果    </a>
    效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!  </div>
</div>
h2{
  text-align: center;
}
.box{
  width: 500px;
  height: 250px;
  border: 1px solid #f00;
  margin: auto;
  position: relative;
}
.box4 .content{
  width: 400px;
  background: #ccc;
  height: 70px;
  position: absolute;
  top:50%;
  left: 50%;
  margin-left: -200px;
  margin-top: -35px;
}

5. 絶対マージン自動

該当するシナリオ: 複数行テキストの垂直方向の中央揃え手法

もう 1 つの絶対的な垂直方向の中央揃えソリューション、このメソッドは少し特殊で、要素が絶対配置に設定されている場合、使用可能なスペース範囲全体をキャプチャできないと想定されるため、 margin:auto は失敗しますが、top:0;bottom:0; を設定すると、このとき、絶対配置された要素が使用可能なスペースを確保しました。この時点で、絶対配置された要素が親レイヤーの水平方向の中央に配置される必要がある場合は、left: 0 を設定することもできます。 ;right:0; を使用して、絶対位置の要素が使用可能なスペースを取得できるようにし、margin-left と margin-right を auto に設定して中央に配置します。ただし、この方法の欠点は、適切に中央に配置されるために、配置された要素の幅と高さが固定されている必要があることです (パーセンテージも考慮されます)。

<h2 id="absolute-nbsp-nbsp-translate-nbsp">5.absolute + translate(-50%, -50%)</h2>
<div class="box box5">
  <div class="content">
    立马来看Amos实际完成的    <a href="http://csscoke.com/2015/07/31/nth-child_rwd_album/">
      CSS3精美相册效果    </a>
    效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!  </div>
</div>
h2{
  text-align: center;
}
.box{
  width: 500px;
  height: 250px;
  border: 1px solid #f00;
  margin: auto;
  position: relative;
}
.content{
  width: 400px;
  background: #ccc;
  height: 70px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

6. 表示: テーブルセル

適用可能なシナリオ: 複数行テキストの垂直方向の中央揃えスキル

私はこのトリックだと思います。古い開発者なら見たことがあるはずですが、もちろん、私のような新しい開発者にとっては初めてです。このトリックの原理は、CSS の表示プロパティを使用して div をテーブルのセルに設定することです。情報を垂直方向に中央揃えにするためのストレージ セルの配置をサポートするvertical-align 属性

<h2 id="display-nbsp-table-cell">19.display: table-cell</h2>
<div class="box box19">
  <div class="content">
    立马来看Amos实际完成的    <a href="http://csscoke.com/2015/07/31/nth-child_rwd_album/">
      CSS3精美相册效果    </a>
    效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!  </div>
</div>
h2{
  text-align: center;
}
.box{
  width: 500px;
  height: 250px;
  border: 1px solid #f00;
  margin: auto;
    text-align: center;
    display: table-cell;
  vertical-align: middle;
}
.content{
  width: 400px;
  background: #ccc;
  margin: auto;
}

7. パディング

該当するシナリオ: 複数行テキストの垂直方向の中央揃え ヒント# #####何!これも垂直センタリングの手法だと考えられていますね。はい、確かにこれは垂直センタリングの手法であることは否定できないので、開発者はそう考えています。この方法は垂直方向のセンタリング手法とは見なされませんが、私のデータが実際に垂直方向のセンタリングであるという事実には反論できません。

おっしゃるとおりです。

<h2 id="padding">22.padding</h2>
<div class="box box22">
  <div class="content">
    立马来看Amos实际完成的    <a href="http://csscoke.com/2015/07/31/nth-child_rwd_album/">
      CSS3精美相册效果    </a>
    效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!  </div>
</div>
h2{
  text-align: center;
}
.box{
  width: 500px;
  border: 1px solid #f00;
  margin: auto;
  height: auto;
  padding: 50px 0;
}
.content{
  width: 400px;
  background: #ccc;
  margin: auto;
}

要約: 上記では 7 つの CSS 垂直方向中央揃えテクニックを紹介しました。ご質問があれば、メッセージを残してください。編集者がすぐに返信します。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。

以上がCSS の垂直方向の中央揃えを実現するための 7 つのテクニックを共有します (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
@keyframesや@mediaなど、 @rulesにはどの程度の特異性がありますか?@keyframesや@mediaなど、 @rulesにはどの程度の特異性がありますか?Apr 18, 2025 am 11:34 AM

先日、この質問がありました。私の最初の考えは、奇妙な質問です!特異性はセレクターに関するものであり、アットレールはセレクターではないので、...無関係ですか?

@mediaと@supportのクエリをネストできますか?@mediaと@supportのクエリをネストできますか?Apr 18, 2025 am 11:32 AM

はい、あなたはできます、そしてそれは本当にどの順序で重要ではありません。 CSSプリプロセッサは必要ありません。通常のCSSで動作します。

クイックガルプキャッシュバストクイックガルプキャッシュバストApr 18, 2025 am 11:23 AM

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

CSSの品質と複雑さを監視するスタックを探してCSSの品質と複雑さを監視するスタックを探してApr 18, 2025 am 11:22 AM

多くの開発者は、CSSコードベースを維持する方法について書いていますが、そのコードベースの品質をどのように測定するかについて多くの人が書いていません。確かに、私たちは持っています

データリストは、値を強制せずに値を提案するためのものですデータリストは、値を強制せずに値を提案するためのものですApr 18, 2025 am 11:08 AM

短い任意のテキストを受け入れるために必要なフォームを持っていたことがありますか?名前などのように。それはまさにそのためのものです。たくさんあります

チューリッヒでのフロント会議チューリッヒでのフロント会議Apr 18, 2025 am 11:03 AM

私は、フロント会議のためにスイスのチューリッヒに向かうことにとても興奮しています(その名前とURLが大好きです!)。私はこれまでスイスに行ったことがないので、興奮しています

CloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますCloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますApr 18, 2025 am 10:58 AM

ソフトウェア開発における私のお気に入りの開発の1つは、サーバーレスの出現です。詳細に行き詰まる傾向がある開発者として

NUXTアプリケーションで動的ルートを作成しますNUXTアプリケーションで動的ルートを作成しますApr 18, 2025 am 10:53 AM

この投稿では、私が構築して展開して展開してネットライフを使用して、着信データの動的ルートを作成する方法を示すeコマースストアのデモを使用します。それはかなりです

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。