HOME > > >

table + css で見栄えのいいきれいなtableを作成

WEB標準が騒がれて以降、出番がぐっと減ったtable。

WEB標準が騒がれて以降、出番がぐっと減ったtable。 とはいえ減ったのはレイアウト目的でのtable利用で価格表などの表組みはtableでやったほうがきれいに収まるのでまだまだ現役。

そんなtableをcssを利用してきれいで見やすいものに変えて見ましょう。javascript を利用してソートできたりスクロールできたりする特殊なやつは別ページで解説予定

基本table HTMLソース

このページのテーブルは下記のテーブルをCSSでデザインしています。
実際のソースを見るとわかるのですがtrにclassは設定していなくてJavascriptで設定しています。

HTML

  1. <table>
  2.     <thead>
  3.         <tr>
  4.             <td>WEB Design Tools</th>
  5.             <th>開発元</th>
  6.             <th>カテゴリ</th>
  7.             <th>評価</th>
  8.         </tr>
  9.     </thead>
  10.  
  11.     <tbody>
  12.         <tr>
  13.             <th>DreamWeaver</th>
  14.             <td>adobe</td>
  15.             <td>エディタ</td>
  16.             <td>★★★☆☆</td>
  17.         </tr>
  18.         <tr>
  19.             <th>Fireworks</th>
  20.             <td>adobe</td>
  21.             <td>WEBグラフィック作成</td>
  22.             <td>★★★☆☆</td>
  23.         </tr>
  24.         <tr>
  25.             <th>Photoshop</th>
  26.             <td>adobe</td>
  27.             <td>画像編集</td>
  28.             <td>★★★☆☆</td>
  29.         </tr>
  30.         <tr>
  31.             <th>3ds Max</th>
  32.             <td>Autodesk</td>
  33.             <td>3DCG</td>
  34.             <td>★★★☆☆</td>
  35.         </tr>
  36.         <tr>
  37.             <th>Movable type</th>
  38.             <td>シックスアパート</td>
  39.             <td>CMSツール</td>
  40.             <td>★★★☆☆</td>
  41.         </tr>
  42.     </tbody>
  43. </table>

class 設定用 Javascript

JavaScript

  1. <script language="javascript" type="text/javascript">
  2. document.addEventListener("DOMContentLoaded", function(){
  3.     var tr = document.getElementsByTagName("tr");
  4.     for(var i=0; i<tr.length; i++){
  5.         if (i % 2 == 0) {
  6.             tr[i].className = "even";
  7.         }else{
  8.             tr[i].className = "odd";
  9.         }
  10.     }
  11. });
  12. </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

  1. a {
  2.     color: #c75f3e;
  3. }
  4.  
  5. caption {
  6.     padding: 0 0 5px 0;
  7.     text-align: right;
  8. }
  9.  
  10. tr.even {
  11.     color: #4f6b72;
  12. }
  13.  
  14. tr.odd {
  15.     color: #797268;
  16. }
  17.  
  18. thead th {
  19.     color: #4f6b72;
  20.     border-right: 1px solid #C1DAD7;
  21.     border-bottom: 1px solid #C1DAD7;
  22.     border-top: 1px solid #C1DAD7;
  23.     text-align: center;
  24.     padding: 6px;
  25.     background: #CAE8EA url(img/type01/thead_bg.jpg) repeat-x;
  26.     height: 23px;
  27. }
  28.  
  29. thead td {
  30.     border-right: 1px solid #C1DAD7;
  31.     background: none;
  32.     font-weight: bold;
  33.     text-align: center;
  34.     padding-right: 10px;
  35.     padding-left: 10px;
  36. }
  37.  
  38. tbody th {
  39.     text-align: left;
  40.     padding: 6px 6px 6px 12px;
  41.     background-color: #FFFFFF;
  42.     border: 1px solid #C1DAD7;
  43. }
  44.  
  45. tbody td {
  46.     border-right: 1px solid #C1DAD7;
  47.     border-bottom: 1px solid #C1DAD7;
  48.     background: #FFFFFF;
  49.     padding: 6px 6px 6px 12px;
  50. }
  51.  
  52. tbody .even th {
  53.     background: #fff url(img/type01/tbody_th_bg2.gif) no-repeat;
  54. }
  55.  
  56. tbody .odd th {
  57.     background: #fff url(img/type01/tbody_th_bg1.gif) no-repeat;
  58. }

table Type02

縦線をカットすることですっきり見えますね。

WEB Design Tools 開発元 カテゴリ 評価
DreamWeaver adobe エディタ ★★★☆☆
Fireworks adobe WEBグラフィック作成 ★★★☆☆
Photoshop adobe 画像編集 ★★★☆☆
3ds Max Autodesk 3DCG ★★★☆☆
Movable type シックスアパート CMSツール ★★★☆☆

CSS

  1. table {
  2.     border: 1px solid #000000;
  3. }
  4.  
  5. a {
  6.     color: #A50000;
  7.     font-weight: bold;
  8. }
  9.  
  10. thead th,
  11. thead td
  12. {
  13.     color: #FFFFFF;
  14.     text-align: center;
  15.     padding: 2px 20px;
  16.     background: #414141 url(../img/type02/thead_bg.jpg) repeat-x left top;
  17.     font-weight: bold;
  18. }
  19.  
  20. tbody th {
  21.     text-align: left;
  22.     color: #333333;
  23. }
  24.  
  25. tbody th,
  26. tbody td {
  27.     padding: 2px 20px;
  28.     border-bottom: 1px dotted #000000;
  29. }
  30.  
  31. tr.odd {
  32.     background-color: #EEEFFF;
  33. }