- HOME
- > BLOG CATEGORY
- 【HTML】table 表を作成からレイアウトの変更を解説
[記事の内容]

HTMLで表を作成するときは、table、tr、th、tdの4つのタグを組み合わせます。
まずは、以下のような「名前」と「年齢」の表を作成してみましょう。

実際にコードに表すと以下のようになります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>【HTML】tableタグを簡単に作成する方法</title>
</head>
<body>
<table>
<tr>
<th>名前</th>
<th>年齢</th>
</tr>
<tr>
<td>鈴木</td>
<td>20歳</td>
</tr>
<tr>
<td>佐藤</td>
<td>24歳</td>
</tr>
<tr>
<td>田中</td>
<td>26歳</td>
</tr>
</table>
</body>
</html>

ただし、このままでは最初の画像とイメージが大きく異なります。ここからCSSを使って、イメージに近づけていきます。
今回はブラウザサイズを640pxとして進めていきます。
幅の指定方法には、HTMLで指定する方法とCSSで指定する方法の2種類があります。
HTMLのwidth属性でも幅は指定できますが、おすすめしません。
理由:スマートフォンで見た際に、画面からはみ出る可能性があります。
<table width="540" border="1">
</table>
上記はあくまで例です。幅や線の指定は、必ずCSSで行いましょう。
幅(width)は、必ずCSSで設定しましょう。まずは540pxで固定する書き方です。

table {
width: 540px;
margin: 0 auto;
}
tableを中央に配置します。次に、100%で指定する書き方です。

table {
width: 100%;
}
今回は540pxの指定を使用して次に進めます。ただし、レスポンシブ対応にする場合は、必ず100%で指定しましょう。

上記の画像は、HTMLにborder="1"を指定した状態です。
HTMLに直接指定すると、後から変更する際に手間がかかります。線(border)の設定は、すべてCSSで行いましょう。

table {
width: 540px;
margin: 0 auto;
}
table th,
table td {
border: 3px solid #000000;
}
tableタグにborder属性は指定せず、CSSのthとtdに指定しましょう。

table {
width: 540px;
margin: 0 auto;
}
table th,
table td {
border: 3px solid #c00c00;
}

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
}
table th,
table td {
border: 1px solid #000000;
}
collapseは「重ね合わせる」という意味です。少しずつ表らしくなってきました。次は色の指定を行っていきます。

表全体の背景色を変更する場合は、tableに指定します。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
background-color: #cf563a;
}
table th,
table td {
border: 1px solid #000000;
}
tableに指定すると、thとtdを含む表全体の背景色が変わります。見出しとデータで色を分けたい場合は、thとtdにそれぞれ指定します。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
}
table td {
background-color: #6fb067;
}
#cf563aに指定します。#6fb067に指定します。特定の列だけ色を変えたい場合は、対象のセルにクラス名を付けます。今回は年齢の列にbg_color01というクラス名を付けています。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
}
table td {
background-color: #6fb067;
}
table td.bg_color01 {
background-color: #38a2c6;
}
tdタグのうち、bg_color01クラスを持つセルだけに適用されます。表全体の文字色を変更する場合は、tableにcolorを指定します。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
color: #ffffff;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
}
table td {
background-color: #6fb067;
}
tableに指定すると、表内すべての文字が白色になります。見出しとデータで文字色を分けたい場合は、thとtdに個別に指定します。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
color: #ffffff;
}
table td {
background-color: #6fb067;
color: #fff200;
}
#ffffff)に指定します。#fff200)に指定します。今回は年齢の列にfont_color01というクラス名を付けています。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
color: #ffffff;
}
table td {
background-color: #6fb067;
color: #fff200;
}
table td.font_color01 {
color: #3a3706;
}
font_color01クラスを持つtdだけに適用されます。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
color: #ffffff;
text-align: center;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
}
table td {
background-color: #6fb067;
}
tableに指定すると、表内すべての文字が中央寄せになります。
table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
color: #ffffff;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
text-align: left;
}
table td {
background-color: #6fb067;
text-align: right;
}
text-align: left;を指定し、文字を左寄せにします。text-align: right;を指定し、文字を右寄せにします。

table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
color: #ffffff;
text-align: center;
}
table th,
table td {
border: 1px solid #000000;
padding: 10px;
}
table th {
background-color: #cf563a;
}
table td {
background-color: #6fb067;
}
thとtdの内側に、上下左右10pxの余白を設定します。
table {
width: 540px;
margin: 0 auto;
border-collapse: collapse;
color: #ffffff;
text-align: center;
}
table th,
table td {
border: 1px solid #000000;
}
table th {
background-color: #cf563a;
padding: 10px;
}
table td {
background-color: #6fb067;
padding: 5px 10px;
}
padding: 10px;を指定し、上下左右に10pxの余白を設定します。padding: 5px 10px;を指定し、上下に5px、左右に10pxの余白を設定します。このように、thとtdで個別に余白を設定することもできます。これで最初のデザインと同じ表になりました。次は少し難しいセルの結合について解説します。


<table>
<tr>
<th>名前</th>
<th>年齢</th>
</tr>
<tr>
<td>鈴木</td>
<td rowspan="2">①20歳 ①と②を結合しています。</td>
</tr>
<tr>
<td>佐藤</td>
<!--<td>②</td>-->
</tr>
<tr>
<td>田中</td>
<td>26歳</td>
</tr>
</table>
rowspan属性は、セルを縦方向に結合する際に使用します。数字は結合するセルの数です。td(②)は削除します。ここでは分かりやすいようにコメントアウトしています。セルが縦につながりました。このとき、CSSの指定を変える必要はありません。

<table>
<tr>
<th>名前</th>
<th>年齢</th>
</tr>
<tr>
<td>鈴木</td>
<td>20歳</td>
</tr>
<tr>
<td>佐藤</td>
<td>24歳</td>
</tr>
<tr>
<td colspan="2">①田中は欠席です ①と②を結合しています。</td>
<!--<td>②</td>-->
</tr>
</table>
colspan属性は、セルを横方向に結合する際に使用します。数字は結合するセルの数です。td(②)は削除します。セルが横につながりました。このときも、CSSの指定を変える必要はありません。
関連記事
今回は、【Table Tag Generator】についてのご説明です。HTMLの表を簡単に作成についてご説明しております。複雑な表の結合も文字の入力も簡単に出来ます。最後にHTMLコードが反映させるのでコピペで簡単作成。
今回は、HTMLのtableタグを使った表の作成方法から、CSSによるレイアウトの変更までを解説しました。
table・tr・th・tdで表の構造を作成し、幅・枠線・色・文字揃え・余白をCSSで整えることで、見やすい表に仕上げられます。
また、rowspanやcolspanを使えば、セルを結合した表も作成できます。
今後は、tableタグのレスポンシブ対応やジェネレーターについても記事にしていきます。最後まで読んでいただきありがとうございました。ぜひ一度、表の作成からレイアウトの変更までお試しください。
table・tr・th・tdの4つのタグで表を作成します。width: 100%;を指定します。border-collapse: collapse;で枠線の隙間をなくし、一重線にします。background-color、文字色はcolorで指定します。text-align、余白はpaddingで調整します。rowspan、横の結合はcolspanを使用します。tdを削除します。2026.10.21
2026.10.20
2026.10.19
2026.10.15
2026.10.14
2026.10.13
2026.10.10
2026.08.14
2026.08.12
2026.04.05

© 2026 shu-naka-blog