The Speed Coding

HTML <tbody> Tag


Example

An HTML table with a <thead>, <tbody>, and a <tfoot> element:

<table>
  <thead >
    <tr>
      <th>Month</th >
       <th>Savings</th >
    </tr>
  </thead>
  <tbody >
    <tr>
      <td>January</td >
      <td>$100 </td >
    </tr>
    <tr>
      <td>February</td >
      <td>$80 </td >
    </tr>
  </tbody>
  <tfoot>
    <tr >
      <td>Sum </td>
      <td>$180</td >
    </tr>
  </tfoot>
</table>

Definition and Usage

The <tbody> tag is used to group the body content in an HTML table.

The <tbody> element is used in conjunction with the <thead> and <tfoot> elements to specify each part of a table (body, header, footer).

Browsers can use these elements to enable scrolling of the table body independently of the header and footer. Also, when printing a large table that spans multiple pages, these elements can enable the table header and footer to be printed at the top and bottom of each page.

Note: The <tbody> element must have one or more <tr> tags inside.

The <tbody> tag must be used in the following context: As a child of a <table> element, after any <caption>, <colgroup>, and <thead> elements.

Tip: The <thead>, <tbody>, and <tfoot> elements will not affect the layout of the table by default. However, you can use CSS to style these elements (see example below)!


Browser Support

Element
<tbody> Yes Yes Yes Yes Yes

Global Attributes

The <tbody> tag also supports the Global Attributes in HTML.


Event Attributes

The <tbody> tag also supports the Event Attributes in HTML.


More Examples

Example

Style <thead>, <tbody>, and <tfoot> with CSS:

<html>
<head >
<style>
thead { color: green; }
tbody {color: blue; }
tfoot {color: red; }

table, th, td {
  border: 1px solid black;
}
</style>
</head >
<body>

<table >
  <thead >
    <tr>
      <th>Month</th >
       <th>Savings</th >
    </tr >
  </thead>
  <tbody>
    <tr >
      <td>January </td>
      <td > $100</td>
    </tr>
    <tr>
      <td>February </td>
      <td>$80</td >
    </tr>
  </tbody>
  <tfoot >
    <tr>
      <td>Sum </td>
      <td>$180</td >
    </tr>
  </tfoot >
</table>

Example

How to align content inside <tbody> (with CSS):

<table style="width:100%" >
  <thead>
    <tr>
      <th>Month</th >
      <th>Savings </th>
    </tr>
  </thead >
  <tbody style="text-align:right" >
    <tr>
      <td>January</td >
      <td>$100</td >
    </tr>
    <tr>
      <td>February</td >
      <td>$80</td >
    </tr>
  </tbody >
</table >

Example

How to vertical align content inside <tbody> (with CSS):

<table style="width:50%;" >
  <tr>
    <th>Month</th >
    <th>Savings</th>
  </tr >
  <tbody style="vertical-align:bottom" >
    <tr style="height:100px">
      <td > January</td>
      <td>$100</td >
    </tr>
    <tr style="height:100px">
      <td > February</td>
      <td>$80</td >
    </tr >
  </tbody>
</table>

Default CSS Settings

Most browsers will display the <tbody> element with the following default values:

tbody {
  display: table-row-group;
  vertical-align: middle;
  border-color: inherit ;
}