本文へジャンプ

ひと手間加えてオイシク仕上げる! CSS3小ワザまとめ サンプルコードを添えて。「table編」

Posted by RSK

なるべく画像を使わずにCSSだけを使って簡単に綺麗に仕上げる方法! 前回は「見出し」のTipsを書いてみました。今回はtable(テーブル)の装飾をお題に、ちょろっとだけサンプルをご紹介します。

表の見出し項目部分だけセパレートにする

「border-collapse:separate」「border-spacing」を使えば簡単に実現できるんですが、その下の項目は横一線に線を引きたいという時には使えません。

そういう時は、見出し行(thead)のtdのなかの要素に線を引いてやればできます。

サンプル01

球団名 創立 所在地 本拠地 日本一 優勝
読売ジャイアンツ 1934.06.09 東京都文京区 東京ドーム 23回 43回
中日ドラゴンズ 1936.01.15 愛知県名古屋市東区 ナゴヤドーム 2回 9回
東京ヤクルトスワローズ 1950.01.12 東京都新宿区 明治神宮野球場 5回 6回
広島東洋カープ 1949.12.15 広島県広島市南区 MAZDA
ZOOM-ZOOM
スタジアム
3回 6回
阪神タイガース 1935.12.10 兵庫県西宮市 阪神甲子園球場 1回 9回
横浜DeNAベイスターズ 1949.11.22 神奈川県横浜市中区 横浜スタジアム 2回 2回

サンプル01のCSS

  1. #sample01 {}
  2. #sample01 thead td {
  3. padding:0 5px;
  4. }
  5. #sample01 thead td > span {
  6. display:block;
  7. padding:5px;
  8. border:4px solid #000;
  9. white-space:nowrap;
  10. text-align:center;
  11. }
  12. #sample01 tbody td {
  13. padding:8px 5px;
  14. border-bottom:2px solid #333;
  15. }
  16. #sample01 thead td:first-child,
  17. #sample01 tbody td:first-child {
  18. padding-left:0;
  19. }
  20. #sample01 thead td:last-child,
  21. #sample01 tbody td:last-child {
  22. padding-right:0;
  23. }

テーブル行の背景色を交互に塗る

表を見やすくするために奇数/偶数行に別の背景色を設定します。
「tr:nth-child(odd)」「tr:nth-child(even)」がポイントです。

サンプル02

球団名 創立 所在地 本拠地 日本一 優勝
読売ジャイアンツ 1934.06.09 東京都文京区 東京ドーム 23回 43回
中日ドラゴンズ 1936.01.15 愛知県名古屋市東区 ナゴヤドーム 2回 9回
東京ヤクルトスワローズ 1950.01.12 東京都新宿区 明治神宮野球場 5回 6回
広島東洋カープ 1949.12.15 広島県広島市南区 MAZDA
ZOOM-ZOOM
スタジアム
3回 6回
阪神タイガース 1935.12.10 兵庫県西宮市 阪神甲子園球場 1回 9回
横浜DeNAベイスターズ 1949.11.22 神奈川県横浜市中区 横浜スタジアム 2回 2回

サンプル02のCSS

  1. #sample02 {}
  2. #sample02 thead td {
  3. padding:8px;
  4. background:#000;
  5. border-left:1px dotted #ccc;
  6. color:#fff;
  7. text-align:center;
  8. white-space:nowrap;
  9. }
  10. #sample02 tbody td {
  11. padding:8px;
  12. border-left:1px dotted #333;
  13. border-bottom:1px solid #333;
  14. }
  15. #sample02 tbody tr:nth-child(even) td { background:#efefef;}
  16. #sample02 tbody tr:nth-child(odd) td { background:#fff;}
  17.  
  18. #sample02 thead td:nth-child(1),
  19. #sample02 tbody td:nth-child(1) {
  20. border-left:none;
  21. }

最近はレイアウト目的でtableタグを使う機会も減りましたが、ちゃんとした"表データ"(表組み)を意図してコーディングする際は、きちんとtableを使いましょう。
Excelにそのままコピーできたり、二次利用が便利になります!

それではまた次回をお楽しみに。Adios!

Recent Entries
MD EVENT REPORT
What's Hot?