スタイルシートの技
テーブルで1行おきに背景色を変えて見やすくする
テーブル(表)などでは良くデータを見やすくするために、毎行おきに色を変えて見やすくしています。 これをいちいちHTMLタグで打っていると大変です。確かにtd要素にはbgcolor属性がありますが、 データ個数が多い時にすべてのtd要素に書いていては容量も大きくなってしまいますし、管理も大変です。 そこでスタイルシートを使ってラクに表現できるようにしてしまいましょう。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="content-style-type" content="text/css">
<title></title>
<style type="text/css">
tr.yellow td
{
background-color: #ffffcc;
}
th
{
background-color: #ffcc00;
}
</style>
</head>
<body>
<h1>Airline Time Table</h1>
<table cellpadding="5" cellspacing="0" summary="TIME TABLE">
<tr>
<th abbr="Departure Time">TIME</td>
<th abbr="Via">VIA</td>
<th abbr="Destination">TO</td>
<th abbr="Airline Company">AIRLINE</td>
</tr>
<tr>
<td>18:45</td>
<td>NEW YORK</td>
<td>SAO PAULO</td>
<td>JAL</td>
</tr>
<tr class="yellow">
<td>19:00</td>
<td>LOS ANGELES</td>
<td>RIO DE JANEIRO</td>
<td>ANA</td>
</tr>
<tr>
<td>19:15</td>
<td></td>
<td>CHICAGO</td>
<td>JAL</td>
</tr>
<tr class="yellow">
<td>20:15</td>
<td></td>
<td>HONOLULU</td>
<td>UNITED</td>
</tr>
</table>
</body>
</html>
TIME | VIA | TO | AIRLINE |
---|---|---|---|
18:45 | NEW YORK | SAO PAULO | JAL |
19:00 | LOS ANGELES | RIO DE JANEIRO | ANA |
19:15 | CHICAGO | JAL | |
20:15 | HONOLULU | UNITED |
特徴は、tdにクラスを指定しない事です。tdにクラスを指定も良いのですが、 それぞれのtdにクラスを指定しなくてはなりません。 tr要素の後にはtd要素かth要素しか取れません。 つまり、trのクラスを作成しておいて、 その子要素のtdに対して…という風にしてしまえば指定箇所も少なくて済む訳ですね。
アクセシビリティを重視する場合には、 table要素のsummary属性とth要素のabbr属性は書いた方が良いでしょう。