- ベストアンサー
XHTMLの<table>について教えてください。
- XHTMLの<table>に関する質問とサンプルソースについて説明します。
- XHTMLの<table>でのcaptionや<th>の使い方についてご質問があります。
- サンプルソースのテーブルに関して、使用方法や心理効果について解説します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
XHTMLのバージョンが分かりませんが、XHTML1.0は、HTML4.01をそのままXMLにしたものですから、HTML4.01の仕様書--ただしstrict!!--を確認するのが良いです。 <table>要素には、summary属性が必須です。 <table>要素には、次の要素が入ることが出来ます。 <caption> 任意 * 必ず<table>の次ぎ <col>または<colgroup>の何れか 任意 * <thead> 任意 * <tfoot> 任意 * <tbody> ひとつ以上必須 + (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.2.1 ) です。 <tbody>要素には tr要素のみひとつ以上 + <tr>要素は、(TH|TD)+ ですから、thかtdをひとつ以上 th要素にはabbr属性が必須!! よって厳密に書くと <table summary="なんたらの表"> <caption>コーヒーの摂取量</caption> <thead> <tr> <th abbr="性別">性別</th> <th abbr="朝">朝</th> <th abbr="昼">昼</th> </tr> </thead> <tbody> <tr> <th abbr="男">男</th> <td>1杯</td> <td>2杯</td> </tr> ・・・ とか、 (1)、XHTMLのtableに、captionって使っていいの? つかえます。 (2)、<th>って、一番上の<tr>~</tr>間以外に使ったら駄目?もしくは、使ってもいいが好ましくない? 一番上にするなら、<thead></thead>にしましょう。長大な表を表示したり印刷するとよくわかる。 <th>だろうが<td>だろうが良いですが、基本的にはtheadでしょう。 (3)以下、サンプルソースみたいな使い方はしてもいいのでしょうか・・・? <table summary="色の心理効果"> <caption>色の心理効果について</caption> <tbody><!-- 表本文の一つ目 --> <tr> <th abbr="赤">赤の心理効果</th> <th abbr="青">青の心理効果</th> <th abbr="黄">黄色の心理効果</th> </tr> <tr> <td>気持ちを前向きにさせる</td> <td>集中力を高める</td> <td>集中力を発揮させる</td> </tr> </tbody> <tbody><!-- 表本文の二つ目 --> <tr> <th abbr="緑">緑の心理効果</th> <th abbr="桃">桃の心理効果</th> <th abbr="紫">紫の心理効果</th> </tr> <tr> <td>リラックスさせる</th> <td>幸せ・優しい気持ち</td> <td>高貴・神秘的</td> </tr> </tbody> </table> と書けばよいだけですけど・・・文書構造だけを落ちがないようにマークアップする。ソンだけです。 そうすれば table tbody th:first-child th, table tbody th:first-child td{ border-top:double 3px red;} とかスタイルシートで指定できる。 わざわざややこしい、XHTMLでなくて、よりトレンドなHTMLにすれば楽です。 <table summary="色の心理効果"> <caption>色の心理効果について</caption> <tbody><!-- 表本文の一つ目 --> <tr> <th abbr="赤">赤の心理効果 <th abbr="青">青の心理効果 <th abbr="黄">黄色の心理効果 <tr> <td>気持ちを前向きにさせる <td>集中力を高める <td>集中力を発揮させる <tbody><!-- 表本文の二つ目 --> <tr> <th abbr="緑">緑の心理効果 <th abbr="桃">桃の心理効果 <th abbr="紫">紫の心理効果 <tr> <td>リラックスさせる <td>幸せ・優しい気持ち <td>高貴・神秘的 </table> と書ける。いずれHTML5になるのでね。 ※HTML5では、tableのsummary属性はなくります。 ※TH要素のabbrは必須でなくなります。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
DTD を読めばわかる. (1) OK (2) 使ってもいい (3) これはダメなところがある.
お礼
返信おそくなりましてすみません、16時提出でバタバタとしていたもので、 翌日のお礼となりましたm(_ _)m ご丁寧にありがとうございます、大変参考になりました。 ご指摘どおりのソースへと変更し、同時にテーブルへの理解がよりいっそう深まりました^^ 感謝です! ありがとうございます。