「表(table)の作り方」の編集履歴(バックアップ)一覧はこちら

表(table)の作り方」(2015/06/15 (月) 21:12:08) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

このページは「tableとlistについて」のページの内容の続きであり、少しだけ冒頭の部分を被らせています。~ もしよろしければ「tableとlistについて」もあわせて読んでみてください。~ それでは、HTML5とCSS3を使った表の作り方について #contents *表(table)の作り方 続いては表制作に使うtableについて解説していきます。~ tableはHTML5の中でもとても難しい分野の一つです。~ tableの記述には3つの要素、&color(red){th(table header=テーブルの見出し),tr(table row=テーブルの横一列のグループ),td(table data=th以外のセルの事)}を使用します。実際には&color(red){thは太文字で強調されて表示}されます。~ 以下に最も単純なテーブルのコードを記述してみます。 *最もシンプルな形のテーブル(表) #image(center,width=200px,簡単なテーブル.png) このようなテーブルをつくる場合には、以下のコード。 HTML5 <table border="1"> <tr><th>ここは題名</th><td>ここはデータ</td></tr> <tr><th>ここは題名2</th><td>ここはデータ2</td></tr> </table> ここではそれぞれのセルが独立した形で表示されてしまいます。~ それを一本の線で表すにはCSS3の出番です。~ *一本の線で表現されるテーブル #image(center,width=200px, 結合したテーブル.png) 次にこのように一本線で表現されるテーブルをつくります。 HTMLは先ほどと同じで、 CSSに table { border-collapse: collapse; } と記述してみてください。 border-collapseはcollapseとseparateを選べます。 それぞれセルをくっつけて表示するか、離して表示させるか、という意味になっています。 ここまでがおおよそ最も基本的な形のテーブル作成です。 *テーブル表現をより豊かにする方法 また、テーブルをCSSを利用して編集する場合には、&color(red){thのみを編集したい、trのみを編集したい、背景の色を指定したい場合}がでてきます。~ 例えば、下のような「thとtdで色が違う」テーブルを作ってみたい場合。 #image(center,width=250px,table4.png) HTML <table class="sample4" border="1"> <tr><th>見出し1</th><th>見出し2</th></tr> <tr><td>ここはデータ1</td><td>ここはデータ2</td></tr> </table> CSS .sample4 { position: relative; left: 100px; border-collapse: collapse; } .sample4 th { background-color: #eeeeee; } 上のような記述になります。~ tableの中のthを指定したい場合は table th {} という形で指定します。(上のコードではsample4という名前がついていますね。) 少しtableの話から脇道にそれてしまうのですが、CSSで様々なタグを一括指定するときは #aaa, #sss, .eee {} などのように間に,を入れていきます。 入れ子構造になっているある一つのタグを指定する場合はthの例のようにスペースであけていきます。 どこどこの どこどこにある なになに というイメージで指定できます。 また、複数あるthの中でもdクラスを指定されているthを指定したい場合、 table tr th.d {} という形になります。 *縦列のグループ化、一括指定(colgroupとcolの利用) 例えば、飲食店の人気ランキングを表であらわしたい場合、1行(横列)目に順位、店の名前、所在地を書いていったとします。~ 二行目に一位、三行目に二位、四行目に三位という風に書いていきます。~ こんな感じです。 #image(center,width=150px,rankingu.png) <table class="sample5" border="1"> <tr><th>順位</th><th>店の名前</th><th>所在地</th></tr> <tr><th>1</th><td>変な焼き鳥屋</td><td>東京</td></tr> <tr><th>2</th><td>美味しい鳥の丸焼き</td><td>神奈川</td></tr> </table> この時、行による色分けは逆にtableをわかりづらくしてしまいますね。~ どうにか縦列によるグループ分けをしたい。~ そのときに活躍するのが&color(red){colgroupとcol}です。まずは、colgroupの説明から。~ 上の例を使って説明してみたいと思います。 #image(center,width=150px,縦列.png) <table class="sample5" border="1"> <colgroup class="x" span="1"> <colgroup class="xx" span="1"> <colgroup class="xxx" span="1"> <tr><th>順位</th><th>店の名前</th><th>所在地</th></tr> <tr><th>1</th><td>変な焼き鳥屋</td><td>東京</td></tr> <tr><th>2</th><td>美味しい鳥の丸焼き</td><td>神奈川</td></tr> </table> CSS .x {width: 30px; background-color: #f00; } .xx{width: 30px; background-color: #ff0;"> } .xxx{width: 30px; background-color: #00f; } spanは縦列何行にわたって指定するか、ということを示しています。~ ここでは、colgroupを使用しました。~ 次にcolgroupと似ているようで異なるcolタグについて説明します。~ colgroupは行を&color(red){「グループ化して指定」}していたのに対してcolグループは&color(red){「グループ化せずに指定だけする」}ためのタグです。~ 先ほどと同じ画像をcolタグを使用して作成してみます。 HTML <table class="sample5" border="1"> <colgroup> <col class="x" span="1"> <col class="xx" span="1"> <col class="xxx" span="1"> <tr><th>順位</th><th>店の名前</th><th>所在地</th></tr> <tr><th>1</th><td>変な焼き鳥屋</td><td>東京</td></tr> <tr><th>2</th><td>美味しい鳥の丸焼き</td><td>神奈川</td></tr> </colgroup> </table> CSSは先ほどと同じになりますが、colのクラスを指定しています。 colgroupはspanを持たない場合、&color(red){colを子要素に必ず持ちます。} spanを持つ場合は、&color(red){空要素(子孫要素を持たない要素)となります。} *thead、tbody、tfootについて この三つのタグはtableに対してhead、body、footerを指定する事ができます。~ つまりどのセルがheadで、、、という事が明確になるのです。~ この三つのタグはブラウザが対応できるようになったときにheadとfooterを固定させたままbodyのみをスクロールさせる事が可能になるみたいです。
このページは「tableとlistについて」のページの内容の続きであり、少しだけ冒頭の部分を被らせています。~ もしよろしければ「tableとlistについて」もあわせて読んでみてください。~ それでは、HTML5とCSS3を使った表の作り方について #contents *表(table)の作り方 続いては表制作に使うtableについて解説していきます。~ tableはHTML5の中でもとても難しい分野の一つです。~ tableの記述には3つの要素、&color(red){th(table header=テーブルの見出し),tr(table row=テーブルの横一列のグループ),td(table data=th以外のセルの事)}を使用します。実際には&color(red){thは太文字で強調されて表示}されます。~ 以下に最も単純なテーブルのコードを記述してみます。 *最もシンプルな形のテーブル(表) #image(center,width=200px,簡単なテーブル.png) このようなテーブルをつくる場合には、以下のコード。 HTML5 <table border="1"> <tr><th>ここは題名</th><td>ここはデータ</td></tr> <tr><th>ここは題名2</th><td>ここはデータ2</td></tr> </table> ここではそれぞれのセルが独立した形で表示されてしまいます。~ それを一本の線で表すにはCSS3の出番です。~ *一本の線で表現されるテーブル #image(center,width=200px, 結合したテーブル.png) 次にこのように一本線で表現されるテーブルをつくります。 HTMLは先ほどと同じで、 CSSに table { border-collapse: collapse; } と記述してみてください。 border-collapseはcollapseとseparateを選べます。 それぞれセルをくっつけて表示するか、離して表示させるか、という意味になっています。 ここまでがおおよそ最も基本的な形のテーブル作成です。 *テーブル表現をより豊かにする方法 また、テーブルをCSSを利用して編集する場合には、&color(red){thのみを編集したい、trのみを編集したい、背景の色を指定したい場合}がでてきます。~ 例えば、下のような「thとtdで色が違う」テーブルを作ってみたい場合。 #image(center,width=250px,table4.png) HTML <table class="sample4" border="1"> <tr><th>見出し1</th><th>見出し2</th></tr> <tr><td>ここはデータ1</td><td>ここはデータ2</td></tr> </table> CSS .sample4 { position: relative; left: 100px; border-collapse: collapse; } .sample4 th { background-color: #eeeeee; } 上のような記述になります。~ tableの中のthを指定したい場合は table th {} という形で指定します。(上のコードではsample4という名前がついていますね。) 少しtableの話から脇道にそれてしまうのですが、CSSで様々なタグを一括指定するときは #aaa, #sss, .eee {} などのように間に,を入れていきます。 入れ子構造になっているある一つのタグを指定する場合はthの例のようにスペースであけていきます。 どこどこの どこどこにある なになに というイメージで指定できます。 また、複数あるthの中でもdクラスを指定されているthを指定したい場合、 table tr th.d {} という形になります。 *縦列のグループ化、一括指定(colgroupとcolの利用) 例えば、飲食店の人気ランキングを表であらわしたい場合、1行(横列)目に順位、店の名前、所在地を書いていったとします。~ 二行目に一位、三行目に二位、四行目に三位という風に書いていきます。~ こんな感じです。 #image(center,width=150px,rankingu.png) <table class="sample5" border="1"> <tr><th>順位</th><th>店の名前</th><th>所在地</th></tr> <tr><th>1</th><td>変な焼き鳥屋</td><td>東京</td></tr> <tr><th>2</th><td>美味しい鳥の丸焼き</td><td>神奈川</td></tr> </table> この時、行による色分けは逆にtableをわかりづらくしてしまいますね。~ どうにか縦列によるグループ分けをしたい。~ そのときに活躍するのが&color(red){colgroupとcol}です。まずは、colgroupの説明から。~ 上の例を使って説明してみたいと思います。 #image(center,width=150px,縦列.png) <table class="sample5" border="1"> <colgroup class="x" span="1"> <colgroup class="xx" span="1"> <colgroup class="xxx" span="1"> <tr><th>順位</th><th>店の名前</th><th>所在地</th></tr> <tr><th>1</th><td>変な焼き鳥屋</td><td>東京</td></tr> <tr><th>2</th><td>美味しい鳥の丸焼き</td><td>神奈川</td></tr> </table> CSS .x {width: 30px; background-color: #f00; } .xx{width: 30px; background-color: #ff0;"> } .xxx{width: 30px; background-color: #00f; } spanは縦列何行にわたって指定するか、ということを示しています。~ ここでは、colgroupを使用しました。~ 次にcolgroupと似ているようで異なるcolタグについて説明します。~ colgroupは行を&color(red){「グループ化して指定」}していたのに対してcolグループは&color(red){「グループ化せずに指定だけする」}ためのタグです。~ 先ほどと同じ画像をcolタグを使用して作成してみます。 HTML <table class="sample5" border="1"> <colgroup> <col class="x" span="1"> <col class="xx" span="1"> <col class="xxx" span="1"> <tr><th>順位</th><th>店の名前</th><th>所在地</th></tr> <tr><th>1</th><td>変な焼き鳥屋</td><td>東京</td></tr> <tr><th>2</th><td>美味しい鳥の丸焼き</td><td>神奈川</td></tr> </colgroup> </table> CSSは先ほどと同じになりますが、colのクラスを指定しています。 colgroupはspanを持たない場合、&color(red){colを子要素に必ず持ちます。} spanを持つ場合は、&color(red){空要素(子孫要素を持たない要素)となります。} *thead、tbody、tfootについて この三つのタグはtableに対してhead、body、footerを指定する事ができます。~ つまりどのセルがheadで、、、という事が明確になるのです。~ この三つのタグはブラウザが対応できるようになったときにheadとfooterを固定させたままbodyのみをスクロールさせる事が可能になるみたいです。~ ~ 以上

表示オプション

横に並べて表示:
変化行の前後のみ表示: