HTML の水平および垂直中央揃えの問題の概要

HTML の水平および垂直中央揃えの問題の概要

最近、センタリングの問題に数多く遭遇したので、後で簡単に見つけられるように、時間をかけてそれらを要約し、ここに載せることにしました。

1. テキストを中央揃えにする

コードをコピー
コードは次のとおりです。

<div class="wrap">
私は真ん中です...
</div>
.. height+line-height+text-center (1行のみ中央揃え可能)
。包む{
幅:px;
高さ:px;
border:px 赤一色;
テキスト配置: 中央;
行の高さ: px;
}

ps:text-align:centerは要素の下のインライン要素のみを中央揃えします
1.2display:table-cell (高さを固定した中央揃えの複数行)

コードをコピー
コードは次のとおりです。

。包む{
幅:px;
高さ:px;
border:px 赤一色;
テキスト配置: 中央;
表示:テーブルセル;
垂直位置合わせ: 中央;
}

display:table-cell: は ie67 では動作しません。display:table; と一緒に使用するのが最善です。
ie67 の場合: (もう使用しませんが、ここに置きます)
方法 1: (em タグの高さは親と同じなので、span と em の中央揃えは、親の span の中央揃えと同じです)

コードをコピー
コードは次のとおりです。

<div class="wrap">
<span>
私は真ん中です...私は真ん中です...私は真ん中です...
</span>
<em>
</div>
。包む{
幅:px;
高さ:px;
border:px 赤一色;
テキスト配置: 中央;
}
.wrap span{
垂直位置合わせ: 中央;
表示:インラインブロック;
幅:px;
}
.wrap em{
身長:%;
垂直位置合わせ: 中央;
表示:インラインブロック;
}

方法 2: (絶対配置された親タグを子要素に追加し、子要素の相対配置を使用して水平方向と垂直方向に中央揃えする)

コードをコピー
コードは次のとおりです。

<div class="wrap">
<span class="span">
<span class="span">私は真ん中です...私は真ん中です...私は真ん中です...私は真ん中です...</span>
</span>
</div>
。包む{
幅:px;
高さ:px;
border:px 赤一色;
表示:テーブル;
位置:相対;
オーバーフロー: 非表示;
}
.wrap .span{
表示:テーブルセル;
垂直位置合わせ: 中央;
テキスト配置: 中央;
*位置:絶対;
トップ:%;
左:%;
}
.wrap .span{
*位置:相対;
トップ:-%;
左:-%;
}

1.3パディング(言うまでもなく内部パディング)

コードをコピー
コードは次のとおりです。

。包む{
幅:px;
border:px 赤一色;
パディング:px;
}

2. 中心となる要素

コードをコピー
コードは次のとおりです。

<div class="wrap">
<span></span>
</div>

2.1position:absolute+margin負の値(マージンを計算するには幅と高さが必要です)

コードをコピー
コードは次のとおりです。

。包む{
幅:px;
高さ:px;
位置:絶対;
トップ:%;
左:%;
上マージン:-px;
左マージン:-px;
border:px 赤一色;
}
.wrap span{
幅:px;
高さ:px;
背景:赤;
位置: 絶対;
トップ:%;
左:%;
上マージン:-px;
左マージン:-px;
}

ps: CSSはDIVの水平中央揃えと垂直中央揃えを実現します

コードをコピー
コードは次のとおりです。

<!DOCTYPE html>
<html>
<ヘッド>
<メタ文字セット="utf-8" />
<title>垂直センタリングオンラインデモ DIVCSS5</title>
<スタイル>
#主要 {
位置: 絶対;
幅:400ピクセル;
高さ:200px;
残り:50%;
上位:50%;
左マージン:-200px;
上マージン:-100px;
境界線:1px 実線 #00F
}
/*cssコメント: スクリーンショットの便宜上、CSSコードを囲みます*/
</スタイル>
</head>
<本文>
<div id="main">DIV 水平中央と垂直中央<a href="http://www.divcss5.com/">DIVCSS5</a></div>
</本文>
</html>

水平および垂直の中央揃えの原則の紹介<br />ここでは絶対位置の position:absolute を使用し、left と top を使用して、オブジェクトの上端と左端からの距離を 50% に設定します。ただし、50% に設定すると、ボックスは実際には中央に配置されないため、margin-left:-200px;margin-top:-100px; を設定します。ここでトリックがあります。margin-left の値は幅の半分であり、margin-top の値もオブジェクトの高さの半分です。同時に、それらを負に設定することで、水平および垂直の中央揃えが実現されます。

<<:  Redis イメージの Docker インストールと設定手順

>>:  JavaScript 配列の重複排除とフラット化関数の紹介

推薦する

WeChatアプレットがシンプルな計算機機能を実装

WeChatアプレット:シンプルな計算機、参考までに、具体的な内容は次のとおりです。ミニプログラムに...

MySql ログイン パスワードを忘れた場合とパスワードを忘れた場合の解決策

方法1: MySQL では、次のコマンド ラインで MySQL サーバーを起動することにより、アクセ...

ウェブページのエンコードにおける GB2312、GBK、UTF-8 の違い

まず、GB2312、GBK、UTF-8 はすべて文字エンコーディングであることを理解する必要がありま...

Docker+nextcloudで個人用クラウドストレージシステムを構築

1. Dockerのインストールと起動 yum で epel-release をインストールします ...

divとspanの違いと使い方

目次1. DIVとSPANの違いと特徴2. スパンタグの概要3. 拡大と改善4. 凡例の効果の実証例...

この記事ではCSSボーダーの使い方を説明します

境界線のスタイルborder-style プロパティは、表示する境界線の種類を指定します。 bord...

MySQL の結合クエリとサブクエリの問題

目次複数テーブル結合の基本構文クロス結合と直積現象クロスコネクトデカルト積現象内部結合外部結合左外部...

Macでのファイル権限の表示と設定の詳細な説明

序文Mac システムのターミナルでファイルの権限を変更するには、Linux の chmod コマンド...

Mysql はテーブル内の古いデータを定期的にクリアし、いくつかのデータを保持します (推奨)

以下の目標を達成するため: Mysql データベースは、一定の間隔 (2 時間または 1 日、カスタ...

vue+rem カスタムカルーセル効果

vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...

CentOS 6.6 ソースコードのコンパイルと MySQL 5.7.18 のインストールチュートリアルの詳細な説明

1. ユーザーとグループを追加する1. mysqlユーザーグループを追加する # グループ追加mys...

Nginx 逆生成 Mogilefs 分散ストレージ例の詳細な説明

1. 分散ストレージシステムの概要情報技術の継続的な発展により、利便性がもたらされる一方で、データ量...

JavaがMySQL 8.0に接続できない問題の解決策

この記事では、参考までにMySQL 8.0に接続できないJavaの問題をまとめて紹介します。具体的な...

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...