Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
<tr> は HTML の要素で、表内でセルの行を定義します。行のセルには <td> (データセル)および <th> (見出しセル)要素を混在させることができます。
セルをどのように列に収める(または列にまたがる)かを制御できるようにするため、<th> および <td> で colspan 属性をサポートします。これはセルの幅をいくつの列にするかを指定でき、既定値は 1 です。同様に、セルが複数の行にまたがることを示す rowspan 属性も使用できます。
表を作成するとき、正しい表にするために少し経験が必要かもしれません。以下にいくつか例がありますが、さらに多くの例や詳しいチュートリアルは、ウェブ開発を学ぶ領域の HTML 表シリーズをご覧ください。表形式のデータを正しいレイアウトに整形するため、 table 要素やその属性の使い方を学ぶことができます。
この要素にはグローバル属性があります。使用を避けるべき非推奨の属性もいくつかありますが、古いコードを読む際は知っている必要があるでしょう。
以下の属性はまだブラウザーが実装していますが、すでに HTML 仕様に含まれていませんのでまったく動作しない、あるいは期待どおりに動作しない可能性があります。使用は避けてください。
align文字列で、行の各セルの中身について、水平方向の配置方法を指定します。これは行内の全セルで個別に align を使用することに対する一括指定です。以下の値を指定可能です。
left各セルの中身を左側に揃えます。
center中身をセルの左端と右端の間で中央揃えにします。
right各セルの中身を右側に揃えます。
justifyテキストが各セルの幅全体を満たす(両端揃え)ように、テキスト内のホワイトスペースを広げます。
char行内の各セルを、特定の文字に対して揃えます (この方法で設定された列内の各行は、その文字に対して揃えます)。これは char および charoff を使用して、揃える文字 (数値データを揃える際の "." や "," が一般的です) および揃える文字に続く文字の数を指定します。この配置方法は、広くは対応されていませんでした。
align の値が明示的に設定されていない場合は、親ノードの値を継承します。
メモ: 行内のセルで配置方法を指定するには、廃止された align 属性の代わりに CSS の text-align プロパティで left, center, right, justify を指定してください。文字ベースの配置方法を適用するには、 CSS の text-align プロパティに揃える文字 ("." や "," など) を設定してください。
文字列で、行の各セルの背景色を定義します。値は 16 進 #RRGGBB または #RGB 値、あるいは色キーワードを使用できます。属性を省略するか JavaScript で null を設定すると、行のセルは親要素の背景色を継承します。
メモ: <tr> 要素は CSS を使用してスタイルを設定するべきです。 bgcolor 属性と同様の効果を与えるには、CSS の background-color プロパティを使用してください。
文字列で、行のそれぞれの列のセルで揃える文字を設定します(同一の文字を使用して、それぞれの行の中心がほかの行と揃えられます)。典型的な値に、数値や金額を揃えようとするときのピリオド (".") やカンマ (",") があります。 align 属性が char ではない場合は、この属性は無視されます。
メモ: この属性は廃止され、かつほとんど実装されていませんでした。 char と同様の効果を得るには、 CSS の text-align プロパティの値として char の値を使用します(例えば text-align: ".")。
文字列で、 char 属性で指定した揃え文字から行のデータをオフセットする文字数を示します。例えば通貨単位の 100 分の 1 の値を使用する通貨 (例えばドルであり、100 セントに分割されます) の金額を表示するときは、一般的に値 2 を指定するでしょう。 char に "." を設定することと組み合わせると、列内の値が小数点できれいに揃い、セントの数値が小数点の右側へ適切に表示されます。
メモ: この属性は廃止されただけでなく、ほとんど実装されていませんでした。
文字列で、行の各セルにおける垂直方向のテキスト配置方法を指定します。以下の値が指定可能です。
baseline異なるフォントやフォントサイズの文字列を、その行で使用されているフォントのベースラインに沿って整列させることによって処理します。もし行の全ての文字が同じサイズであれば、効果は bottom と同じになります。
bottom行の各セル内のテキストを、セルの下辺に可能な限り近づけて描画します。
middle各セルのテキストは垂直方向の中央に配置されます。
top各セルのテキストは、含まれるセルの上端に可能な限り沿って描画されます。
メモ: valign 属性は廃止されたため、使用しないでください。代わりに CSS の vertical-align プロパティを使用してください。
<tr> 要素の使用例については、 <table> を参照してください。
これは、人名とクラブまたはサービスのさまざまな会員情報を載せる表を表示する簡単な例です。
この HTML は、表のもっとも基本的な構造を示します。グループ、複数の行や列にまたがるセル、タイトルはなく、明確に似ているもののために表の構成要素の周りに線を生成する、もっとも基本的なスタイルだけがあります。
表には 4 列(1 列の見出しを含む)があるの行が 4 行(1 行の見出しを含む)があります。表セクション要素は使用していません。代わりに、ブラウザーはそれらを自動的に定義できます。この次の例では <thead>, <tbody>, <tfoot> を追加します。
このシンプルな CSS は表とセルの周りに黒い実線の境界線を追加するものであり、セルは <th> と <td> の両方を使用して指定します。このようにして、見出しセルとデータセルが簡単に区別できます。
次に、ユーザーの有効期限のデータを表示する列を追加しましょう。また、 "joined" と "canceled" のデータの上に、 "Membership Dates" という大見出しも追加します。これは行や列をまたぐセルを表に追加するということであり、見出しのセルを正しい位置に置くことができます。
始めに、実際の表示結果を見ましょう。
見出し領域が実際は 2 行あることに注目してください。ひとつは "Name", "ID", "Membership Dates", "Balance" の見出し、もうひとつは "Joined" と "Canceled" であり、これは "Membership Dates" の小見出しです。これは以下のようにして実現します。
HTML は前の例に似ていますが、それぞれのデータ行に新しい列を追加したことと、見出しを変更したことが異なります。変更した HTML は以下のようになります。
(行や列をまたぐことを論じるために) ここで重要な部分は、コードの最初の数行です。 "Name", "ID", "Balance" の見出しで rowspan を使用して 2 行を占めていることと、 "Membership Dates" の見出しで colspan を使用して 2 列を占めていることに注意してください。
CSS は変更していません。
この表にスタイルを設定する前に、 CSS を簡単にするために行や列のグループを追加する時間をとりましょう。
この作業を行う場所は HTML であり、また作業はとても単純です。
(行や列をまたぐことを論じるために) ここで重要な部分は、コードの最初の数行です。 "Name", "ID", "Balance" の見出しで rowspan を使用して 2 行を占めていることと、 "Membership Dates" の見出しで colspan を使用して 2 列を占めていることに注意してください。
ここでも、 CSS は変更しません。
内部では役に立つ文脈情報を追加したにもかかわらず、表示結果はまったく変わっていません。
表のすべての部分の場合と同じく、 CSS を使用して表の行やその中身の外観を変更できます。 <tr> 要素に適用したスタイルは、セルに適用したセルで上書きされない限り、行内のすべてのセルに影響を与えます。
使用する書体の調節するスタイルと、見出し行に背景色を追加するスタイルを適用しましょう。
再び、始めに表示結果を見ましょう。
ここでは HTML を変更せず、CSS に手を加えます。
ここで font プロパティを <table> 要素に追加して、視覚的に目立つ書体 (または人の意見によっては忌々しい sans-serif 書体) を設定する一方、興味深いところは 2 番目のスタイルで、 <tr> 要素のうち <thead> の中にあるものの背景色がライトブルーになります。これは、見出し領域内にあるすべてのセルへ一斉に背景色を適用するためのてっとり早い方法です。
1 列目の <th> 要素の会員名は行の見出しとして扱っていますが、このスタイルは影響を与えません。
次は全力を尽くして、行の色を交互に設定する、行内の位置に応じてさまざまな色を設定するなど、見出しや本体の行にスタイルを設定します。
表は最終的に以下のようになります。
ここでも HTML は変更しません。 HTML を適切に準備することがどのようなことか分かりましたか?
ここでは CSS をさらに変更します。複雑ではありませんが、多くのことを行います。詳しく説明しましょう。
表と基本的なスタイルここでは border-spacing および border-collapse を追加して、セル間の間隔を取り除き、 2 本の境界線を互いに接する1本の境界線にまとめます。
ここには、表のすべてのセルに既定のスタイルがあります。次に、カスタマイズしましょう!
上部の見出し全体上部の見出し 2 つに分けて見ていきます。始めに、見出し全体のスタイルです。
これは、表の見出し (<thead> を使用して指定します) 内にあるすべての <tr> 要素の背景色を設定します。そして上部の見出しの下ボーダーを、幅が 2 ピクセルの線に設定します。ただし、見出しの 2 行目に border-bottom を適用するために :nth-of-type セレクターを使用していることに注目してください。なぜでしょう? これは、いくつかのセルがまたがっている 2 つの行で見出しが構成されているためです。実際は見出しが 2 行あるということであり、 1 行目にスタイルを適用すると意図しない結果になります。
"Joined" および "Canceled" の見出し新しい会員を「良く」、退会した会員を「悪く」表すために、これら 2 つの見出しを緑と赤の色合いでスタイリングしましょう。
ここでは表の見出しブロックの最後の行に注目して、最初の見出しセル ("Joined") を緑系統の色、2番目の見出しセル ("Canceled") を赤系統の色に設定します。
本体で行ごとに色を変える行の色を交互に設定することは、表の可読性を高めるためによく使用されます。偶数番目の行に、少し色をつけましょう。
最初の列も目立たせたいので、ここにもスタイルを設定します。
表の本体のそれぞれの行で最初の見出しセルに、会員名を左揃えにする text-align と、いくぶん異なる背景色を設定します。
バランスを整える最後に、表内の金額の値は右揃えが一般的ですので、ここで行いましょう。
本体のそれぞれの行で最後の <td> に対して、 CSS の text-align プロパティに "right" を設定します。
| なし |
| 0 個以上の <td> 要素または <th> 要素。 スクリプト対応要素 (<script> および <template>) も許可されています。 |
| 開始タグは必須。 <tr> 要素の直後に <tr> 要素がある場合、または親の表グループ要素 (<thead>, <tbody>, <tfoot>) 内で最後の要素である場合は終了タグを省略可能。 |
| <table> 要素 (子の <tbody> を持たない場合で、 <caption>, <colgroup>, <thead> の各要素より後に限る)、 <thead>, <tbody>, <tfoot> の各要素 |
| row |
| すべて |
| HTMLTableRowElement |
| HTML # the-tr-element |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2026年4月12日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.