<tbody>

The HTML <tbody> element groups one or more <tr> elements as the body of a <table> element.

Content categories None.
Permitted content Zero or more <tr> elements.
Tag omission The <tbody> element is not a required child element for a parent <table> element  to graphically render. However, it must not be present, if its parent <table> element  has a <tr> element as a child.
Permitted parents Within the required parent <table> element, the <tbody> element can be added after a <caption>, <colgroup>, <thead> and a <tfoot> element.
Permitted ARIA roles Any
DOM interface HTMLTableSectionElement

Attributes

This element includes the global attributes.

align in HTML 4.01, in HTML5
This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:
  • left, aligning the content to the left of the cell
  • center, centering the content in the cell
  • right, aligning the content to the right of the cell
  • justify, inserting spaces into the textual content so that the content is justified in the cell
  • char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes.

If this attribute is not set, the left value is assumed.

Note: Do not use this attribute as it is obsolete (not supported) in the latest standard.
  • To achieve the same effect as the left, center, right or justify values, use the CSS text-align property on it.
  • To achieve the same effect as the char value, in CSS3, you can use the value of the char as the value of the text-align property Unimplemented.
bgcolor
This attribute defines the background color of each cell of the column. It is one of the 6-digit hexadecimal code as defined in sRGB, prefixed by a '#'. One of the sixteen predefined color strings may be used:
  black = "#000000"   green = "#008000"
  silver = "#C0C0C0"   lime = "#00FF00"
  gray = "#808080"   olive = "#808000"
  white = "#FFFFFF"   yellow = "#FFFF00"
  maroon = "#800000"   navy = "#000080"
  red = "#FF0000"   blue = "#0000FF"
  purple = "#800080"   teal = "#008080"
  fuchsia = "#FF00FF"   aqua = "#00FFFF"
Usage note: Do not use this attribute, as it is non-standard and only implemented some versions of Microsoft Internet Explorer: the <tbody> element should be styled using CSS. To give a similar effect to the bgcolor attribute, use the CSS property background-color, on the relevant <td> or <th> elements.
char in HTML 4.01, in HTML5
This attribute is used to set the character to align the cells in a column on. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.
Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard. To achieve the same effect as the char, in CSS3, you can use the character set using the char attribute as the value of the text-align property Unimplemented.
charoff in HTML 4.01, in HTML5
This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute.
Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard.
valign in HTML 4.01, in HTML5
This attribute specifies the vertical alignment of the text within each row of cells of the table header. Possible values for this attribute are:
  • baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom.
  • bottom, which will put the text as close to the bottom of the cell as it is possible;
  • middle, which will center the text in the cell;
  • and top, which will put the text as close to the top of the cell as it is possible.
Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard: instead set the CSS vertical-align property on it.

Usage notes

  • In conjunction with a preceding <thead> and/or <tfoot> element, the <tbody> element provides additional semantic information for devices such as printers and displays.
  • Of the parent table's child elements, <tbody> represents the content which, when longer than a page, will most likely differ for each page printed; while the content of <thead> and <tfoot> will be the same or similar for each page printed.
  • For displays, <tbody> will enable separate scrolling of the <thead>, <tfoot>, and <caption> elements of the same parent <table> element.
  • Unlike the <thead>, <tfoot>, and <caption> elements, multiple <tbody> elements are permitted (if consecutive), allowing the rows in long tables to be divided into different sections, each separately formatted as needed.

Examples

Please see the <table> page for examples on <tbody>.

Specifications

Specification Status Comment
WHATWG HTML Living Standard
The definition of 'tbody element' in that specification.
Living Standard  
HTML5
The definition of 'tbody element' in that specification.
Recommendation  

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 (Yes) 1.0 (1.7 or earlier) (Yes) (Yes) (Yes)
align/valign attribute 1.0 (Yes) No support [1] (Yes) (Yes) (Yes)
char/charoff attribute 1.0 (Yes) No support [2] (Yes) (Yes) (Yes)
bgcolor attribute No support No support No support (Yes) No support No support
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) 1.0 (1.0) (Yes) (Yes) (Yes)
align/valign attribute ? (Yes) No support [1] ? ? ?
char/charoff attribute ? (Yes) No support [2] ? ? ?
bgcolor attribute No support No support No support (Yes) No support No support

[1] See bug 915.

[2] See bug 2212.

See also

Document Tags and Contributors

 Last updated by: arronei,