CSS スタイルを使用して表のフォントを垂直中央に配置する方法

CSS スタイルを使用して表のフォントを垂直中央に配置する方法

CSS スタイルを使用して表内のフォントを垂直方向に中央揃えする方法は次のとおりです。

下図のようなカスタムテーブルがあります。返されるデータが変更されると、テキストを自動的に中央揃えにすることができます。

//html  
// 2 つの div をコンテナーとして使用します <el-col :span="3" class="col_row1">
                 <div class="grid-content1">
                  <div class="subject1">{{item.subject1}}</div>
                  </div>  
              </el-col>
//css
      .grid-content1 {
            // 幅: 3.125rem;
            幅: 100%;
            高さ:3.75rem;
            表示: テーブル;
          }
          .subject1 {
            表示: テーブルセル;
            垂直位置合わせ: 中央;
          }

補足:以下のCSSスタイルを見てみましょう - フォントは垂直と水平に中央揃え

<div class="tt">ラララ</div>

 .tt{
            パディング: 0px;
            幅:500ピクセル;
            高さ:200px;
            テキスト配置:中央;
            背景色:#F69;

            表示: テーブルセル;
            垂直方向の配置:中央
        } 

なんで、これ。よし。表のセルとして表示される display: table-cell スタイルを見てください。このようにして、 vertical-align:middleプロパティが有効になります。ディスプレイを取り外すと動作しません。 !

1. 基本概念

まず第一に、それはまだ概念です。インライン要素とブロックレベル要素を導入することは重要です。なぜなら、一部の属性はブロック要素にのみ使用可能であり、他の属性はその逆であるためです。特定の状況下では、display を使用して設定するなど、それらを相互に変換することもできます。

1. インライン要素(インライン要素とも呼ばれます):

(1)1行を占めるのではなく、内容に応じて変化する。次のような特徴がある。

(2)幅や高さ、行の高さは設定できません。幅は内容に応じて増加し、高さはフォントサイズに応じて変化します。

(3)インライン要素には外側の境界線を設定できますが、この境界線は上下には影響せず、左右にのみ影響します。

(4)内側の境界線も設定できますが、IE6では内側の境界線は上下には機能せず、左右にのみ機能します。

よく使われるインライン要素は、a - アンカー、b - 太字(非推奨)、br - 改行、em - 強調、font - フォント設定(非推奨)、i - 斜体、img - 画像、input - 入力ボックス、label - 表ラベル、

select - 項目の選択、small - 小さいフォントのテキスト、span - 一般的に使用されるインライン コンテナー、テキスト ブロックを定義、strike - 中間の​​取り消し線、strong - 太字の強調

1. ブロック要素:

(1)常に新しい行から始まり、1行全体を占める。

(2)高さ、行の高さ、余白、パディングをすべて制御できます。

(3)幅はコンテンツに関わらずブラウザの幅と同じになります。

(4)インライン要素やその他のブロック要素を含めることができます。

よく使用されるブロックレベル要素は次のとおりです。div - 最もよく使用されるブロックレベル要素、dl - dt dd で使用されるブロックレベル要素、form - インタラクティブフォーム、h1 - 大きなタイトル、hr - 水平セパレーター、ol - ソートされたフォーム、p - 段落、ul - ソートされていない

リスト変換: 表示設定を使用して、インライン要素にブロックレベル要素の特性を持たせ、その逆も行います。

2. 次は、いくつかの基本的なセンタリング方法についてお話ししましょう。

1. ブロック内のテキストを水平中央に配置します。text-align はブロックレベル要素に使用され、それを使用するブロック要素内のテキストまたは画像に作用します。水平方向に中央揃えになるようにします。

このプロパティは、ブロック要素 (または CSS によってブロック要素として制御されるインライン要素。ただし、インライン要素として制御されるブロック要素には適用できません) にのみ適用できます。つまり、ブロック要素の特性を持つ要素です。これは理解しやすいです。中央揃えは行の中央揃えにする必要があります。これを使用する要素の幅に完全に独立したスペースがない場合、その内部のテキストや画像を中央揃えにすることはできません。

親要素のこの属性は、その下の子要素にも影響します。たとえば、div が text-align に設定されている場合、その中のテキストを中央揃えにすることができ、その子 div 内のテキストも中央揃えにすることができます。ただし、子要素内のテキストの中央揃えは、親 div ではなく、子 div 内で行われます。つまり、その中のすべてのテキストは、最も近い div レイヤーを基準にして中央に配置されます。したがって、このプロパティを使用して、div を親 div 内の中央に配置することはできません。 (div だけでなく、ブロック要素として動作するすべての要素)。

2 つのブロック要素は水平方向に中央揃えされます (幅を設定してブロックを決定します): margin。これは、CSS に初めて触れたときに必ずわかることです。

一般的には、 margin:0 autoを設定できます。これにより、ブロックレベル要素が親要素の中央に配置され、上、下、左、右が中央揃えになります。

水平方向に中央揃えにしたい場合は、 margin-left:auto;margin-right:autoを設定します。

3 ブロック要素は水平方向に中央揃えされます (幅が不明なブロック):

他の記事では、幅が不確かなブロックを中央に配置する方法を紹介する多くの方法を見ました。

実は簡単に言えば、そんなに面倒なことする必要はないのです。これを次のように理解することができます。明示的に幅が設定されていないブロックは、ブロックレベル要素の性質に応じて、デフォルトで 1 行を占めます。したがって、この時点では、ブロック自体はブラウザ ウィンドウの幅であり、水平方向の中央揃えを設定する必要はありません。

この時点でブロック内のコンテンツが中央に配置されている場合:

ブロック要素の子要素もブロック要素である場合、子要素にはmargin autoなどを使用できます。

ブロックレベル要素の子要素がインライン要素である場合、冒頭で紹介した text-align でこの問題を解決することもできます。

ブロック要素の場合は、表示をインラインに設定し、text-alignを使用することもできます。

4. vertical-alignはインライン要素の垂直方向の中央揃えに使用されます。

vertical-align は、非常に複雑な方法で使用できます。いくつかの記事や例を読んだ後、少し混乱しました。最も簡単な使用法についてのみ説明します。

このプロパティは、

1. インライン要素(およびインライン要素に変換されたブロック要素)

2. displayがtable-cellに設定されている要素、

Firefox および IE8 では、ブロックレベル要素の表示値を table-cell に設定して、vertical-align 属性を有効にすることができます。表示効果は、テーブル内の valign="center" と同じです。しかし、ie6,7 ではサポートされていません。

3. <td><tr> のような要素

次のように記述すると、テキストまたは画像の垂直方向の中央を設定できます: vertical-align:middle;この属性は、インライン要素の特性を持つ要素に使用されている限り、その子要素内のテキストや画像にも機能します。しかし、その効果は、テキストまたは画像を、それに最も近い親要素を基準にして中央に配置することです。これは、上で説明した text-align に関する部分と似ています。

5. ブロックレベル要素内のテキストと画像を垂直中央に配置する(ブロックの高さによって決まります。これは別のブログからの引用です。ブロック内にこれらのテキストだけがある場合に非常に便利です)

vertical-align プロパティでは、レイヤー (ブロック レベル要素) 内のテキストを垂直方向に中央揃えすることはできません。ここでは、高さをline-heightと同じに設定する賢い方法を紹介します。

<div style="line-height:500px;height:500;"></div>

6. ブロックレベル要素内のテキストと画像を垂直中央に配置する(ブロックの高さは不確定)

ブロックの高さが不明な場合、その高さは実際には内部のコンテンツの高さによって決まります。中にテキストや画像だけがある場合は、自然に垂直方向に中央揃えされるため、特に設定する必要はありません。

何かを設定したい場合、たとえば、ブロックを大きくして、テキストをブロック内で垂直方向に中央揃えにしたい場合は、 padding-top:20px;padding-bottom:20pxのようにパディングを設定できます。

もちろん、上下の余白を異なるように設定すれば、当然中央揃えにはなりません。

7. ブロックレベル要素の垂直方向の中央揃え

親要素内のブロックレベル要素の垂直方向の中央を設定するには、ブロックレベル要素の水平方向の中央揃えの方法(前述)を参照して余白を設定します。水平方向の中央揃えを設定しない場合は、上部と下部の余白を自動に設定します。

vertical-align:middle;メソッドを使用することもできますが、前提条件として display を table-cell に設定する必要があります。この場合、ブラウザの互換性の問題に注意してください。

要約する

CSS スタイルを使用してテーブル内のフォントを垂直方向に中央揃えする方法について説明したこの記事はこれで終わりです。CSS テーブル フォントの垂直方向の中央揃えに関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  HTML文書におけるol要素の数値制限に関する議論

>>:  Vueのリストレンダリングの詳細な説明

推薦する

Alibaba CloudにMySQLをインストールする方法の詳細な説明

軽量のオープンソース データベースである MySQL は、エンタープライズ レベルのアプリケーション...

インストールされていないバージョンの MySQL を使用する手順とパスワードを忘れた場合の解決策

最初のステップは、圧縮されたパッケージを対応するディスクに解凍することです。 2 番目の手順は、cm...

CentOS7.6にMYSQL8.0をインストールする詳細な手順

1. 一般的に、CentOS では mariadb がデフォルトでインストールされているため、まず ...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

MySQLインデックスに関する詳細を共有する

数日前、同僚からMySQLのインデックスについて質問を受けました。大体わかっているのですが、まだ練習...

NginxはIP経由の直接アクセスを禁止し、カスタム500ページにリダイレクトします

設定ファイルに直接 サーバー{ listen 80 default; # IPへの直接アクセスを禁止...

MySQL で二重引用符の位置が誤っていたために起きた殺人事件の詳細な分析

1. はじめに最近、開発者が誤ってデータを削除したり更新したりするケースがよくあります。今回もまた問...

MySQLにおけるrow_numberの実装プロセス

1. 背景一般的に、データ ウェアハウス環境では、row_number 関数を使用して特定のディメン...

VMware Workstation 15 Pro に Ubuntu 1804 をインストールするチュートリアル (画像とテキスト付き)

このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...

MySQL 8.0.15 インストール グラフィック チュートリアルとデータベースの基礎

MySQLソフトウェアのインストールとデータベースの基礎は参考用です。具体的な内容は次のとおりです。...

Linux 時間サブシステムの時間表現例の詳細な説明

序文Linux カーネルでは、元のコードとの互換性を保つため、または特定の仕様に準拠するため、また現...

moment.jsの時間と日付の処理の詳細な説明

月曜日から日曜日の時間形式の変換(Y --- 年 M --- 月 D--- 日) : : : : :...

JavaScript 以外の静的リソースのバンドルの詳細

目次1. パッケージングツールでのカスタムインポート2. ブラウザとバンドラの共通インポート構文3....

Win10にnginxをインストールして設定するプロセス

1. はじめにNginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プロキ...

DockerはCMDまたはENTRYPOINTコマンドを使用して複数のサービスを同時に起動します

要件: Celery は Django に導入されています。Django プロジェクトを開始するとき...