The HTML element table header cell <th> defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.

Usage context

Content categories None.
Permitted content
Phrasing content.
Tag omission The start tag is mandatory.
The end tag may be omitted, if it is immediately followed by a <th> or <td> element or if there are no more data in its parent element.
Permitted parent elements A <tr> element.
Normative document HTML5, section 4.9.10 (HTML4.01, section 11.2.6)

Attributes

This element includes the following global attributes.

abbr in HTML5
This attribute contains a short abbreviated description of the cell's content. A user-agent (e.g., a speech reader) may be present in front of the description.
Usage Note: Do not use this attribute as it has become obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the title attribute.
align in HTML 4, in HTML5
This enumerated attribute specifies how the cell content's horizontal alignment will be handled. Possible values are:
  • left: The content is aligned to the left of the cell.
  • center: The content is centered in the cell.
  • right:  The content is aligned to the right of the cell.
  • justify (with text only): The content is stretched out inside the cell so that it covers its entire width.
  • char (with text only): The content is aligned to a character inside the <th> element with minimal offset. This character is defined by the char and charoff attributes Unimplemented (see bug 2212).

The default value when this attribute is not specified is left.

Usage Note: Do not use this attribute as it is obsolete in the latest standard.
  • To achieve the same effect as the left, center, right or justify values, apply the CSS text-align property to the attribute.
  • To achieve the same effect as the char value, give the text-align property the same value you would use for the char.  Unimplemented in CSS3.
axis in HTML5
This attribute contains a list of space-separated strings. Each string is the id of a group of cells that this header applies to.
Usage Note: Do not use this attribute as it is obsolete in the latest standard: use the scope attribute instead.
bgcolor
This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in sRGB and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:
  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 in some versions of Microsoft Internet Explorer: The <th> element should be styled using CSS. To create a similar effec use the background-color property in CSS.
char in HTML 4, in HTML5
The content of a column is aligned to a character in the <th> element . Typical values include a period (.) to align numbers or monetary values. If align is not set to char, this attribute is ignored.
Usage Note: Do not use this attribute as it is no longer supported by the latest standard. To achieve the same effect , you can specify the character as the first value of the text-align property,  Unimplemented in CSS3.
charoff in HTML 4, in HTML5
This attribute is used to shift column data to the right of the character specified by the char attribute. Its value specifies the length of this shift.
Usage Note: Do not use this attribute as it is no longer supported by the latest standard.
colspan
This attribute contains a positive integer value that indicates over how many columns a cell is extended. Its default value is 1. If its value is set to 0, the cell is extended to the last element of the <colgroup>. Values higher than 1000 are clipped down to 1000.
headers
This attribute contains a list of space-separated strings, each corresponding to the id attributes of other <th> elements that relate to this element.
rowspan
This attribute contains a positive integer value that indicates over how many rows a cells is extended. Its default value is 1. If its value is set to 0, the cell is extended to the last element of the table sections (<thead>, <tbody> or <tfoot>). Values higher than 65534 are clipped down to 65534.
scope
This enumerated attribute defines the cells that the header (defined in the <th>) element relates to. It may have the following values:
  • row:  The header relates to all cells of the row it belongs to.
  • col: The header relates to all cells of the column it belongs to.
  • rowgroup: The header belongs to a rowgroup and relates to all of its cells. These cells can be placed to the right or the left of the header, depending on the value of the dir attribute in the <table> element.
  • colgroup: The header belongs to a colgroup and relates to all of its cells.
  • auto
valign in HTML 4, in HTML5
This attribute specifies how a text is vertically aligned inside a cell. Possible values for this attribute are:
  • baseline: Positions the text near the bottom of the cell and aligns it with the baseline of the characters instead of the bottom. If characters don't descend below the baseline, the baseline value achieves the same effect as bottom.
  • bottom: Positions the text near the bottom of the cell.
  • middle: Centers the text in the cell.
  • and top: Positions the text near the top of the cell.
Usage Note: Do not use this attribute as it is no longer supported by the latest standard: use the CSS vertical-align property instead.
width in HTML 4.01
This attribute is used to define a recommended cell width.  Additional space can be added with the cellspacing and cellpadding properties and the width of the <col> element can also create extra width. But, if a column's width is too narrow to show a particular cell properly, it will be widened when displayed.
Usage Note: Do not use this attribute in the latest standard: use the CSS width property instead.

DOM interface

This element implements the HTMLTableHeaderCellElement interface.

Examples

See <table> for examples on <th>.

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 ? No support [1] (Yes) (Yes) (Yes)
char/charoff attribute 1.0 ? No support [2] (Yes) (Yes) (Yes)
bgcolor attribute 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 ? ? No support [1] ? ? ?
char/charoff attribute ? ? No support [2] ? ? ?
bgcolor attribute 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: libbymc,