← エラー辞典に戻る

HTML

テーブルの表示が崩れる

tr/td の入れ子が間違っている

こんな症状

テーブルのセルが変な位置に表示される。HTMLテーブルを初めて作るときに構造を間違えやすいよ。

まず試す

<table> の中に <tr>(行)、その中に <td>(セル)という入れ子にする。

html
<table>
  <tr><td>データ</td></tr>
</table>

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • table の直下に td を書いた / tr が抜けている
    → <tr> で行を作り、その中に <td> を置く。
  • 見出しセルにしたい
    → <td> ではなく <th> を使う。
  • セルの数が行でバラバラ
    → 各 <tr> のセル数(<td>)を揃える。

なぜ起きる?

HTMLのテーブルは<table>→<tr>(行)→<td>(セル)という入れ子構造が必須だよ。<table>の直下に<td>を書いたり、<tr>を省略したりすると、ブラウザが構造を正しく解釈できずレイアウトが崩れるんだ。

✕ エラーが起きるコード
<table>
  <td>データ</td>
</table>
<!-- tr が抜けている -->
✓ 直したコード
<table>
  <tr><td>データ</td></tr>
</table>

✅ 直ったか確認

表が崩れず格子状に表示されればOK。

🆘 まだ直らないときは

DevToolsのElementsタブでテーブルのネストを確認すると、抜けている要素が分かる。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

HTMLレッスン4:リストと表で根本から理解する →

✏️ 手を動かして練習

このテーマの図解ドリルで実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 HTMLレッスン4:リストと表で根本解決しよう!

このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。

HTMLレッスン4:リストと表へ →

❓ 関連するQ&A