[使える CSS テクニック]CSSを使った見栄えの良い表組み(table)

No Photo

第 6 回目は「CSSを使った見栄えの良い表組み(table)」です。

Web サイトのレイアウトがすべて table でコントロールされていた時代がありましたが、今そんなことをしたら嘲笑を買う時代です。
本来の「複数のデータを表示・比較の際にわかりやすいよう見せる表組み」のためのテーブルを、CSSを使って見栄えよくしてみましょう。

1. CSS のみで見栄えよくしてみる

線と塗りだけで表現する、一番シンプルなテーブルを作ってみます。

[HTML]

<table id="table-01">
<tr>
<th>本体名称</th>
<th>スタンド名</th>
<th>スピード</th>
<th>持続力</th>
<th>精密動作性</th>
<th>成長性</th>
</tr>
<tr>
<td>空条 承太郎</td>
<td>スター・プラチナ</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>
<tr>
<td>ジョセフ・ジョースター</td>
<td>ハーミット・パープル</td>
<td>C</td>
<td>A</td>
<td>D</td>
<td>E</td>
</tr>
<tr>
<td>東方 仗助</td>
<td>クレイジー・ダイヤモンド</td>
<td>A</td>
<td>B</td>
<td>B</td>
<td>C</td>
</tr>
</table>

[サンプル]

本体名称 スタンド名 スピード 持続力 精密動作性 成長性
空条 承太郎 スター・プラチナ A A A A
ジョセフ・ジョースター ハーミット・パープル C A D E
東方 仗助 クレイジー・ダイヤモンド A B B C

[CSS]

table#table-01 {
    width: 530px;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
}

table#table-01 th {
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
}
table#table-01 td {
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: center;
}

[ポイント]

  • border-collapseに collapseを指定して、ボーダーが二重になるのを防ぎます。

2. 背景に画像を使ってみる

テーブルの背景に画像を使って、なんだかリッチな雰囲気を出してみます。

[HTML]

1.と同じです

[サンプル]

本体名称 スタンド名 スピード 持続力 精密動作性 成長性
空条 承太郎 スター・プラチナ A A A A
ジョセフ・ジョースター ハーミット・パープル C A D E
東方 仗助 クレイジー・ダイヤモンド A B B C

[CSS]

table#table-02 {
    width: 530px;
    border: 1px #E3E3E3 solid;
    border-spacing: 0;
    background: #D5F0F0 url(img/bg_02.gif) repeat-x 0 100%;
}

table#table-02 th {
    padding: 5px;
    border: #98DCDC solid;
    border-width: 0 0 1px 1px;
    background: #73CECE url(img/bg_02_header.gif) repeat-x 0 100%;
    color: #FFFFFF;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
}
table#table-02 td {
    padding: 5px;
    border-style: solid;
    border-width: 1px;
    border-color: #FFFFFF #8ED9D9 #8ED9D9 #FFFFFF;
    color: #1A4444;
    text-align: center;
}

[ポイント]

  • table の背景に大きな画像をあてます
  • td の border に工夫することで、凹凸のあるラインを表現します

こうやってみると、承太郎強すぎますね…
次回は「CSSを使った見栄えの良いサイトマップ」です。お楽しみに!

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ