HTML 表格单元格居中
この記事では、HTML の表のセル内のコンテンツを水平方向と垂直方向に中央揃えする方法について詳しく説明します。さまざまな方法とサンプルコードを紹介しますので、表のレイアウトスキルを簡単に習得できます。
一、水平方向のセンタリング
1. text-align
プロパティを使用する
text-align: center;
:セル内のコンテンツを水平方向に中央揃えします。テキスト、画像などのインライン要素に適用されます。
<table>
<tr>
<td style="text-align: center;">中央揃えのテキスト</td>
</tr>
</table>
2. align
属性を使用する (非推奨)
align="center"
:以前は水平方向のセンタリングにも使用されていましたが、現在は非推奨となっています。互換性を高めるために、text-align
プロパティを使用することをお勧めします。
二、垂直方向のセンタリング
1. vertical-align
プロパティを使用する
vertical-align: middle;
:セル内のコンテンツを垂直方向に中央揃えします。
<table>
<tr>
<td style="vertical-align: middle;">垂直方向に中央揃えされたテキスト</td>
</tr>
</table>
2. 行高 line-height
を使用する
- セル内のコンテンツが1行のテキストのみの場合、
line-height
プロパティを設定して、セルの高さと同じにすることで垂直方向に中央揃えすることができます。
<table>
<tr>
<td style="height: 50px; line-height: 50px;">垂直方向に中央揃えされたテキスト</td>
</tr>
</table>
3. CSS Flexbox レイアウトを使用する
- セルをFlexコンテナとして設定し、
align-items: center
プロパティを使用して垂直方向に中央揃えします。
<table>
<tr>
<td style="display: flex; align-items: center;">垂直方向に中央揃えされたテキスト</td>
</tr>
</table>
三、水平方向と垂直方向のセンタリング
1. text-align
と vertical-align
プロパティを同時に設定する
text-align: center
とvertical-align: middle
を組み合わせて使用すると、セル内のコンテンツを水平方向と垂直方向に中央揃えすることができます。
<table>
<tr>
<td style="text-align: center; vertical-align: middle;">水平方向と垂直方向に中央揃え</td>
</tr>
</table>
2. CSS Flexbox レイアウトを使用する
- セルをFlexコンテナとして設定し、
justify-content: center
とalign-items: center
プロパティを使用して水平方向と垂直方向に中央揃えします。
<table>
<tr>
<td style="display: flex; justify-content: center; align-items: center;">水平方向と垂直方向に中央揃え</td>
</tr>
</table>
上記の方法を使用すると、実際の状況に応じて適切なソリューションを選択し、HTML 表のセル内のコンテンツの水平方向と垂直方向のセンタリングを柔軟に制御できます。
関連する質問と回答
-
質問:
vertical-align: middle
を使用しても、セル内のコンテンツが垂直方向に中央揃えされません。
回答:vertical-align
プロパティは、セル内のコンテンツのベースラインを基準に配置を調整します。コンテンツの高さがセルの高さよりも低い場合、垂直方向に中央揃えされないように見えることがあります。このような場合は、行高line-height
を使用するか、Flexbox レイアウトを使用することを検討してください。 -
質問:
align
属性とtext-align
プロパティの違いは何ですか?
回答:align
属性は古いHTML仕様で使用されていましたが、現在は非推奨となっています。text-align
プロパティは、align
属性の代わりとして使用され、テキストコンテンツの水平方向の配置を制御します。 -
質問: セル内の画像を水平方向と垂直方向に中央揃えするにはどうすればよいですか?
回答: セルにdisplay: flex; justify-content: center; align-items: center;
スタイルを適用し、画像をセル内に配置します。これにより、画像はセル内で水平方向と垂直方向に中央揃えされます。