この記事では、CSSでテーブル(表)の行・列の背景色を交互に変える方法とサンプルコードについてまとめました。
テーブル(表)の行・列の背景色
CSSでは、「擬似クラスnth-child」を使うことで、テーブル(表)の行・列の背景色を交互に変えることができます。
背景色の偶数行・奇数行の色を交互に変えると視認性が向上するので便利です。
■実行例
行で交互に変更
行で背景色を交互に変えたい場合は、「tr:nth-child(2n)」「tr:nth-child(2n+1)」で偶数列・奇数列の背景色を設定できます。
列で交互に変更
列で背景色を交互に変えたい場合は、HTML側のTableタグ内に「colタグ」を列の数だけ記述します。
そして、「col:nth-child(2n)」「col:nth-child(2n+1)」で偶数列・奇数列の背景色を設定できます。
ソースコード(行バージョン)
サンプルプログラムのソースコードです。
行の色を交互に入れ替えます。
CSS
main.css
.table1, .table2{
border-collapse: collapse;
}
.table1 td, .table1 th, .table2 td, .table2 th{
border:1px solid #111;
}
/* 偶数行の背景色変更 */
.table1 tr:nth-child(2n) {
background: #ccc;
}
/* 奇数行の背景色変更 */
.table1 tr:nth-child(2n+1) {
background: #fff;
}
/* 偶数列の背景色変更 */
.table2 col:nth-child(2n) {
background: #ccc;
}
/* 奇数列の背景色変更 */
.table2 col:nth-child(2n+1) {
background: #fff;
}
HTML
index.html
<!DOCtype html>
<html>
<head>
<meta charset="utf-8">
<title>テスト</title>
<link rel='stylesheet' href='main.css' type='text/css' />
</head>
<body>
<table class="table1">
<tr>
<th>ヘッダ1</th>
<th>ヘッダ2</th>
<th>ヘッダ3</th>
</tr>
<tr>
<td>アイテム1</td>
<td>アイテム2</td>
<td>アイテム3</td>
</tr>
<tr>
<td>アイテム1</td>
<td>アイテム2</td>
<td>アイテム3</td>
</tr>
</table>
<br>
<table class="table2">
<col><col><col>
<tr>
<th>ヘッダ1</th>
<th>ヘッダ2</th>
<th>ヘッダ3</th>
</tr>
<tr>
<td>アイテム1</td>
<td>アイテム2</td>
<td>アイテム3</td>
</tr>
<tr>
<td>アイテム1</td>
<td>アイテム2</td>
<td>アイテム3</td>
</tr>
</table>
</body>
</html>
| – | 関連記事 |
|---|---|
| 1 | 【HTML/CSS入門】Web制作のサンプル集 |
| 2 | 【Javascript入門】サンプル集 |

コメント