WEB標準が騒がれて以降、出番がぐっと減ったtable。
WEB標準が騒がれて以降、出番がぐっと減ったtable。
とはいえ減ったのはレイアウト目的でのtable利用で価格表などの表組みはtableでやったほうがきれいに収まるのでまだまだ現役。
そんなtableをcssを利用してきれいで見やすいものに変えて見ましょう。javascript
を利用してソートできたりスクロールできたりする特殊なやつは別ページで解説予定
基本table HTMLソース
このページのテーブルは下記のテーブルをCSSでデザインしています。
実際のソースを見るとわかるのですがtrにclassは設定していなくてJavascriptで設定しています。
HTML
<table>
<thead>
<tr>
<td>WEB Design Tools</th>
<th>開発元</th>
<th>カテゴリ</th>
<th>評価</th>
</tr>
</thead>
<tbody>
<tr>
<th>DreamWeaver</th>
<td>adobe</td>
<td>エディタ</td>
<td>★★★☆☆</td>
</tr>
<tr>
<th>Fireworks</th>
<td>adobe</td>
<td>WEBグラフィック作成</td>
<td>★★★☆☆</td>
</tr>
<tr>
<th>Photoshop</th>
<td>adobe</td>
<td>画像編集</td>
<td>★★★☆☆</td>
</tr>
<tr>
<th>3ds Max</th>
<td>Autodesk</td>
<td>3DCG</td>
<td>★★★☆☆</td>
</tr>
<tr>
<th>Movable type</th>
<td>シックスアパート</td>
<td>CMSツール</td>
<td>★★★☆☆</td>
</tr>
</tbody>
</table>
class 設定用 Javascript
JavaScript
<script language="javascript" type="text/javascript">
document.addEventListener("DOMContentLoaded", function(){
var tr = document.getElementsByTagName("tr");
for(var i=0; i<tr.length; i++){
if (i % 2 == 0) {
tr[i].className = "even";
}else{
tr[i].className = "odd";
}
}
});
</script>
table Type01
元ネタはA CSS styled table。
非常にきれいなtableだったので再現してみました。まぁ本家は画像とかもっときっちり作ってありますのでそちらを参考にしてもよいでしょう。
WEB Design Tools
| 開発元 |
カテゴリ |
評価 |
DreamWeaver |
adobe |
エディタ |
★★★☆☆ |
Fireworks |
adobe |
WEBグラフィック作成 |
★★★☆☆ |
Photoshop |
adobe |
画像編集 |
★★★☆☆ |
3ds Max |
Autodesk |
3DCG |
★★★☆☆ |
Movable type |
シックスアパート |
CMSツール |
★★★☆☆ |
CSS
a {
color: #c75f3e;
}
caption {
padding: 0 0 5px 0;
text-align: right;
}
tr.even {
color: #4f6b72;
}
tr.odd {
color: #797268;
}
thead th {
color: #4f6b72;
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
border-top: 1px solid #C1DAD7;
text-align: center;
padding: 6px;
background: #CAE8EA url(img/type01/thead_bg.jpg) repeat-x;
height: 23px;
}
thead td {
border-right: 1px solid #C1DAD7;
background: none;
font-weight: bold;
text-align: center;
padding-right: 10px;
padding-left: 10px;
}
tbody th {
text-align: left;
padding: 6px 6px 6px 12px;
background-color: #FFFFFF;
border: 1px solid #C1DAD7;
}
tbody td {
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
background: #FFFFFF;
padding: 6px 6px 6px 12px;
}
tbody .even th {
background: #fff url(img/type01/tbody_th_bg2.gif) no-repeat;
}
tbody .odd th {
background: #fff url(img/type01/tbody_th_bg1.gif) no-repeat;
}
table Type02
縦線をカットすることですっきり見えますね。
WEB Design Tools
| 開発元 |
カテゴリ |
評価 |
DreamWeaver |
adobe |
エディタ |
★★★☆☆ |
Fireworks |
adobe |
WEBグラフィック作成 |
★★★☆☆ |
Photoshop |
adobe |
画像編集 |
★★★☆☆ |
3ds Max |
Autodesk |
3DCG |
★★★☆☆ |
Movable type |
シックスアパート |
CMSツール |
★★★☆☆ |
CSS
table {
border: 1px solid #000000;
}
a {
color: #A50000;
font-weight: bold;
}
thead th,
thead td
{
color: #FFFFFF;
text-align: center;
padding: 2px 20px;
background: #414141 url(../img/type02/thead_bg.jpg) repeat-x left top;
font-weight: bold;
}
tbody th {
text-align: left;
color: #333333;
}
tbody th,
tbody td {
padding: 2px 20px;
border-bottom: 1px dotted #000000;
}
tr.odd {
background-color: #EEEFFF;
}