tableをスタイルシートでレイアウトする
何かと便利に使うことのできる「table」タグですが、このtableタグについてもスタイルシートで設定をすることができます。
- テーブルの境界線の表示方法を指定する
- テーブルのセル間隔を指定する
- 実際にテーブルをスタイルシート(CSS)で飾ってみる
tableをスタイルシートで飾ってみる
さて、次はtableタグで作られたテーブルをスタイルシートを使って飾っていってみましょう。
まずは基本となるテーブルをHTMLで記述します。下のようなかんじですね。
『基本となるテーブル』
【HTML記述】
<table class="sample1">
<tr>
<th>会社名</th>
<th>商品名</th>
<th>単価</th>
</tr>
<tr>
<td>hogera商事</td>
<td>mogera</td>
<td>1億円</td>
</tr>
<tr>
<td>mogumogu販売</td>
<td>hegeml</td>
<td>3000万円</td>
</tr>
</table>
これをこのまま表示させると、下のような表になります。なんだか、味気ない感じの表ですね。
会社名 | 商品名 | 単価 |
---|---|---|
hogera商事 | mogera | 1億円 |
mogumogu販売 | hegeml | 3000万円 |
これをスタイルシートの設定だけで、下の表のようにしてみます。
会社名 | 商品名 | 単価 |
---|---|---|
hogera商事 | mogera | 1億円 |
mogumogu販売 | hegeml | 3000万円 |
どうですか?ずいぶんと雰囲気が変わったと思いませんか?
この表のようにするには、以下のような感じで各タグにスタイルシートを設定していきます。
【CSS記述例】
.sample1 {border-spacing:0; <!--セル間隔を"0"に設定-->
border: 1px solid #030; <!--枠線の設定-->
border-collapse:collapse; <!--境界線を重ねて表示-->
}
.sample1 th {
background-color: #6C3; <!--背景色の設定-->
border-right: 1px dotted #060; <!--右枠線の設定-->
border-bottom: 3px double #060; <!--下枠線の設定-->
padding: 2px 10px; <!--paddingの設定-->
font-style: italic; <!--文字をイタリック調(斜体)に設定-->
letter-spacing:0.5em; <!--文字間隔の設定-->
}
.sample1 td {
background-color: #DEF3DE; <!--背景色の設定-->
text-align: center; <!--文字を中央に揃える-->
border-right: 1px dotted #060; <!--右枠線の設定-->
border-bottom: 1px solid #060; <!-下-枠線の設定-->
padding: 2px 10px; <!--paddingの設定-->
width: 110px; <!--セル幅の設定-->
}
これでOKです。このCSSを反映させる為にtableタグに「.sample1」というクラス名を付けてあげるのを忘れないでくださいね。
スタイルシートの設定だけでここまで表のデザインを変えることが出来ます。あとは、センス次第で配色を変えていったり枠線のスタイルを変更したりすればオリジナルの表を作ることが出来ます。
スタイルシートって便利でしょ!?
上のCSSについての補足説明
テーブルの格子線を装飾する時は、「table」「th」「td」の3種類のタグ全てに枠線の設定をしなければいけません。
ですが、全部のタグに上下左右に枠線を設定すると線がダブってしまい見た目も良くありません。
そこで、行うのが次の方法です。
@「table」タグの上下左右に枠線を設定する
A「th」タグ・「td」タグは右と下の枠線のみ設定する。
これでOKです。まず、@でtableの外枠だけに枠線が入ります。そして、Aで枠線がダブらない位置、つまり枠線がそのタグだけに入る右と下の部分にだけ枠線の設定をしてあげます。
こうやって枠線の指定をすれば、枠線がダブることなくキレイに表示することができます。