Top    

HTMLテーブルの表現


HTMLでテーブルを表として使う場合、

border="1"ってのだと最悪にダサイ表になるので
わりとよく使ってたのが

<table width="200" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF">a</td>
</tr>
<tr>
<td bgcolor="#FFFFFF">b</td>
</tr>
</table>

結果





こんな感じで、テーブルの背景色をセルの境界から見えるようにして
1pxの罫線として表示する方法でした。

これだと、すっきりしたきれいな線が引けた上に色も自由自在。
しかも、ほとんどのブラウザで問題なく表示できます。

しかし問題が.....

このテーブルの方法は「背景を印刷」のオプションをチェックしないと
プリント時に線が表示されないのです。

よい方法を模索していたのですが、これに行き着きました。
罫線の表示をCSSでやる方法です。

CSSにて、table関連のタグを再定義します。

table {
border-collapse: collapse;
}
td, th {
border: 1px solid #999999;
padding: 3px;
font-size: 11px;
line-height: 15px;
}

細かな表示内容はお好みで。

これそのままだと、
使っているテーブルすべてに適用されてしまいますので

適当なクラスを作って、適用される範囲を限定したらいいです。

.in {
font-size: 11px;
line-height: 16px;
}

.in table {
border-collapse: collapse;
}
.in td, th {
border: 1px solid #999999;
padding: 3px;
font-size: 11px;
line-height: 15px;
}



Safari Win IE Firefoxで
表示、プリントとも問題なくできました。

Mac版IEではちょっと変な表示をしますが
border="0" cellpadding="0" cellspacing="0" でなんとかかんとかって感じです。

この方法だと、テーブルごとに設定する必要がなくて
テーブルを作るだけで表示をコントロールできるので楽ちんです。

MacIEの運命やいかに....


Posted: Thu - September 23, 2004 at 12:11 PM