【tbodyタグ】テーブルのボディ行をグループ化しよう!「HTML・解説・初心者向け」- ノブレコ

HTML tbody 解説

★<tbody>タグの特徴

・タグのカテゴリ ―― <table>要素の子要素。

・コンテンツモデル ―― 無し。

・タグの省略 ―― 不可。(開始タグと終了タグが必要、また<table>要素内に<tr>要素が存在する場合は、このタグを使ってはいけない)

・使用可能な親要素 ―― <table>要素。(ただし<caption>要素、<colgroup>要素の後ろに記述し、<thead>要素と<tfoot>要素の間に記述すること)

・グローバル属性を持つ。

・ARIAロール ―― 標準でrowgroupロールを持つ。

<tbody>の説明

<tbody>とは

「table body(テーブルボディー)」の略で、テーブル(表)の本体であるボディー行をグループ化するためのタグです。

グループ化を図ることで、ヘッダー、ボディ、フッターと分けることができ、それにより様々な使い方ができるようになります。

記述する順番は、実際にブラウザ表示される順番で、上から<thead>要素、<tbody>要素、<tfoot>要素の順番になります。そしてこの3つの要素はセットで使われることが多いです。

■使用目的

必ずテーブルに必要とする要素ではないのですが、複雑さをともなった表の作成の際にグループ化をすることで利便性を計ります。

例えば、<tbody>要素をグループ化することで、表のボディー部分のみにCSSを適応したり、ヘッダー部分とフッター部分を固定してボディ部分だけをスクロール可能にするといった使い方ができます。

■非推奨の属性

・align
・bgcolor
・char
・charoff
・valign

使用上の注意点

① 記述する順番に気を付ける。

前述した★<tbody>タグの特徴に書いてあることを参考にして、<table>要素の子要素にする際は要素の配置順に気を付けてください。

② CSSセレクタを使用する場合の注意点

<tr>要素は<tbody>要素が無い場合でも、<table>要素の直接的な子要素にはならず、<tbody>要素の子要素となります。ですので、CSSの子セレクタを table > tr{ color: black; }としても、<tr>要素にスタイルが反映されることはありません。反映させるためには table > tbody > tr { color: black; }のように記述しましょう。

③ <tbody>要素は、必要に応じて複数の記述が可能。

内容モデル

<tbody>要素の内容モデルは<tr>要素です。

0個以上の<tr>要素を入れることができます。勿論空でもOKです。

また、script-supporting elementsを置くこともできます。

アクセシビリティでの注意点

<tbody>要素は、標準でrowgroupロールを思っています。

ですがrowgroupロールがスクリーンリーダーなどの読み上げに影響を与えることはありません。

CSSでのスタイル変更や、前述した■使用目的での使い方などをする際に便利な要素です。

<tbody>の記述例

■基本的な使用例

★HTML

HTML tbody 記述例

このように、<tbody>要素使って複数の配置で、セクションを分けて表すことができます。

★実行結果

まとめ

この記事では、<tbody>タグについての解説をいたしました。

この要素は、<table>要素内で使うことができ、本体部分であるボディ行をグループ化することができます。ただし、<tbody>要素と<tr>要素は混在させて記述することはできないので気を付けましょう。

もしも表の作成で複雑なものを扱うのであれば、他の<tbody>要素、<tfoot>要素と併用し、グループに分けて使ってみてください。

この記事が少しでも皆さんのお役に立てれば幸いです。

最後まで読んでいただき、ありがとうございました。またなん

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA