VIDEO LESSON

HTMLのtableタグとは?属性・使い方・ブラウザー互換性と活用例の解説動画

再生時間 7:21動画を別のタブで開く ↗
動画の字幕・文字起こしを読む

再生中の字幕を濃い黒で表示し、一番上に追従します。字幕の行を選ぶと、その位置から再生できます。

  1. 0:00こんにちは。
  2. 0:00エイチティーエムエル、リファレンス解説です。
  3. 0:04HTMLタグ編の十七本目は、テーブルタグです。
  4. 0:07これは、行と列の関係を持つデータを表として表すためのタグです。
  5. 0:12たとえば講座の名前と時間、商品の名前と料金のように、項目を縦と横で比べて読む情報がテーブルに向いています。
  6. 0:20逆に、ページ全体の配置を整える目的では使いません。
  7. 0:24今回は、表を形作る仲間のタグとの関係、基本の書き方、コード例、使うときの注意点まで、
  8. 0:29初心者向けに順番に解説します。
  9. 0:33表の全体像をつかむ回として聞いてください。
  10. 0:36身近な時刻表や価格表を思い浮かべると、イメージがつかみやすくなります。
  11. 0:42まず、どんな場面で使うかを整理しましょう。
  12. 0:45テーブルが向いているのは、行と列で照らし合わせることで意味が分かるデータです。
  13. 0:51時間割なら、曜日と時間帯が交わる場所に授業が入り、料金表なら、プランと項目が交わる場所に金額が入ります。
  14. 0:59一方、昔はページの配置にテーブルが使われたこともありましたが、今はレイアウトにはシーエスエスを使い、
  15. 1:04テーブルはデータの表だけに使います。
  16. 1:09書く前に、その情報に行と列の関係があるかを一度自問すると、タグ選びで迷いにくくなります。
  17. 1:16たとえば出席簿や在庫一覧も、行と列で読む典型的な例です。
  18. 1:20基本の書き方です。
  19. 1:22テーブルは開始タグと終了タグを明示し、その内側に表の中身を置きます。
  20. 1:27コード例では、まずキャプションで表の題名を示し、次にティーアールで行を作り、
  21. 1:32その行の中にティーエイチの見出しセルとティーディーのデータセルを置いています。
  22. 1:38ここで大切なのは入れ子の順番です。
  23. 1:41テーブルの直下にティーディーを直接書くことはできません。
  24. 1:45テーブル、行、セルという順番を守ります。
  25. 1:48まずは見出し一行とデータ一行の小さな表から書いて、構造に慣れていきましょう。
  26. 1:54ファイル名や置く場所に迷ったら、入門編で作った練習ファイルを使うと安心です。
  27. 1:59テーブルは一つのタグで完結せず、仲間のタグと役割を分けます。
  28. 2:04キャプションは表の題名です。
  29. 2:07ティーヘッド、ティーボディ、ティーフットは、それぞれ見出し行、データ行、
  30. 2:11合計行をまとめるグループです。
  31. 2:16ティーアールが一行を作り、その中に見出しセルのティーエイチと、データセルのティーディーを置きます。
  32. 2:24テーブルタグ自身は、いわば表全体を囲む枠の役割で、実際の文字が入るのはセルです。
  33. 2:31これまでの回で学んだグループのタグも、ここで一つに組み合わさります。
  34. 2:37名前が似ているタグが多いので、役割で覚えるのが近道です。
  35. 2:41記事の活用事例を見てみましょう。
  36. 2:44テーマは、項目を行と列で比較することです。
  37. 2:47キャプションに講座と時間と書いて、表全体の内容を一目で伝えます。
  38. 2:51見出し行はティーヘッドに入れ、講座と時間という列見出しをティーエイチで書き、
  39. 2:57データ行はティーボディに入れ、エイチティーエムエルが九十分という一行にしています。
  40. 3:02試すときは練習用ファイルに表ごと貼り付けて保存し、再読み込みして表として表示されるかを確認してください。
  41. 3:10開発者ツールのエレメンツで入れ子も確かめましょう。
  42. 3:13一行だけの小さな表でも、グループ分けをしておくと後で直しやすくなります。
  43. 3:18見出しセルの書き方をもう少し掘り下げます。
  44. 3:21ティーエイチにはスコープ属性を付けると、その見出しがどの範囲の見出しなのかをはっきり示せます。
  45. 3:28スコープ、イコール、コルは列の見出し、スコープ、イコール、ロウは行の見出しという意味です。
  46. 3:35たとえば九十分というデータは、列見出しの時間と、行見出しのエイチティーエムエルが交わる場所にあると分かります。
  47. 3:43見た目が同じでも、この対応付けがあることで、読み上げソフトでもどのセルの説明かが伝わりやすくなります。
  48. 3:51表が大きくなるほど、この対応付けの効果は大きくなります。
  49. 3:55テーブルの属性についてです。
  50. 3:57記事の通り、この要素に必須となる専用の属性はありません。
  51. 4:01必要に応じて、グローバル属性と呼ばれる共通の属性を使います。
  52. 4:06アイディーは文書内で一意な識別子、クラスはシーエスエスやジャバスクリプトで複数の要素をまとめて選ぶ目印、
  53. 4:11ラングは内容の言語の指定です。
  54. 4:16データ属性にはアプリ独自の値を保持できますが、秘密情報を置く場所ではありません。
  55. 4:21枠線や余白といった見た目は属性ではなく、シーエスエスで指定するのが現在の書き方です。
  56. 4:28迷った属性は無理に付けず、必要になったときに足すくらいで十分です。
  57. 4:33見た目と使いやすさの工夫です。
  58. 4:35枠線を引く、セルに余白を付ける、見出し行に色を付ける、といった装飾はすべてシーエスエスで行います。
  59. 4:43意味はエイチティーエムエルの構造で表し、見た目はシーエスエスで整える分担は、
  60. 4:46ほかのタグと同じです。
  61. 4:50もう一つ大切なのが小さい画面への配慮です。
  62. 4:54列が多い表はスマートフォンでは入りきらないため、表のラッパーに横スクロールを付けて、
  63. 4:58表自体は崩さずに読めるようにします。
  64. 5:03そのときも、見出しセルとデータセルの対応が保たれるように確認しましょう。
  65. 5:08色だけで区別せず、文字の意味でも区別が伝わるようにしておきましょう。
  66. 5:14よくある間違いを確認します。
  67. 5:16一つ目は、文章や画像を並べるためだけにテーブルを使うことです。
  68. 5:20それはレイアウトであり、シーエスエスの仕事です。
  69. 5:24二つ目は入れ子の間違いです。
  70. 5:26セルを行の外に書くなど不正な構造を書くと、ブラウザーが自動で補正して、書いたソースと実際の構造がずれてしまいます。
  71. 5:35三つ目は題名のない表です。
  72. 5:37キャプションを付けると、何の表なのかが利用者にもプログラムにも伝わりやすくなります。
  73. 5:43保存後は、開発者ツールで実際の構造を確認する習慣を付けましょう。
  74. 5:48公開前に一度、自分の表を声に出して読み上げてみるのも有効です。
  75. 5:52ブラウザー互換性を確認します。
  76. 5:55記事が参照するエムディーエヌの記録では、テーブル本体は、クロームが一以降、
  77. 6:01エッジが十二以降、ファイアフォックスが一以降、サファリが一以降で対応しています。
  78. 6:07ウェブのごく初期から使われてきた基本の要素なので、現在使われているブラウザーならまず問題なく表示できます。
  79. 6:16ただし、これは要素本体の対応開始の記録であり、細かな表示の違いまで保証するものではありません。
  80. 6:23三百二十ピクセル程度の狭い画面や文字拡大時にも、内容が欠けないかを実機で確認しましょう。
  81. 6:31身近なスマートフォンでも一度開いて、崩れがないか見てみましょう。
  82. 6:36最後に練習とまとめです。
  83. 6:38テーブルは、行と列の関係を持つデータの表そのものでした。
  84. 6:42大切なポイントは三つです。
  85. 6:45一つ目は、比べるデータにだけ使い、レイアウト目的では使わないこと。
  86. 6:50二つ目は、キャプション、グループ、行、セルという入れ子を守って書くこと。
  87. 6:56三つ目は、見出しセルにスコープを付けて、データとの対応をはっきりさせることです。
  88. 7:03練習として、講座と時間の二列で、見出し一行とデータ三行の表を作り、キャプションも付けてみてください。
  89. 7:11お疲れさまでした。
  90. 7:12次回もHTMLタグを一つずつ学んでいきましょう。
  91. 7:16小さな表を一つ完成させることが、次に進む一番の近道です。
日本語字幕をダウンロード(WebVTT)

この動画で学べること

tableタグの役割と属性を、コード例・活用事例・注意点とともに解説。Chrome・Edge・Firefox・Safariの互換性も確認できます。行と列の関係を持つデータの表。ページの配置目的には使いません。

解説記事・サンプルコードを読む:HTMLのtableタグとは?属性・使い方・ブラウザー互換性と活用例 →