The HTML <th>
element 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.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Content categories | None. |
---|---|
Permitted content | Flow content, but with no header, footer, sectioning content, or heading content descendants. |
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 parents | A <tr> element. |
Implicit ARIA role | columnheader or rowheader |
Permitted ARIA roles | Any |
DOM interface | HTMLTableHeaderCellElement |
Attributes
This element includes the global attributes.
abbr
- This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself.
colspan
- This attribute contains a non-negative integer value that indicates for how many columns the cell extends. Its default value is
1
. Values higher than 1000 will be considered as incorrect and will be set to the default value (1). headers
- This attribute contains a list of space-separated strings, each corresponding to the id attribute of the
<th>
elements that apply to this element. rowspan
- This attribute contains a non-negative integer value that indicates for how many rows the cell extends. Its default value is
1
; if its value is set to0
, it extends until the end of the table section (<thead>
,<tbody>
,<tfoot>
, even if implicitly defined), that the cell belongs to. 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 thedir
attribute in the<table>
element.colgroup
: The header belongs to a colgroup and relates to all of its cells.auto
The default value when this attribute is not specified is
auto
.
Deprecated attributes
align
Obsolete since 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 thechar
andcharoff
attributes.
The default value when this attribute is not specified is
left
.Note: Do not use this attribute as it is obsolete in the latest standard.- To achieve the same effect as the
left
,center
,right
orjustify
values, apply the CSStext-align
property to the element. - To achieve the same effect as the
char
value, give thetext-align
property the same value you would use for thechar
. Unimplemented in CSS3.
axis
Obsolete since 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.Note: Do not use this attribute as it is obsolete in the latest standard: use thescope
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"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 effect use thebackground-color
property in CSS instead.
char
Obsolete since HTML5- The content in the cell element is aligned to a character. Typical values include a period (.) to align numbers or monetary values. If
align
is not set tochar
, this attribute is ignored.Note: Do not use this attribute as it is obsolete in the latest standard. To achieve the same effect, you can specify the character as the first value of thetext-align
property, Unimplemented in CSS3. charoff
Obsolete since 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.
Note: Do not use this attribute as it is obsolete in the latest standard.
height
Deprecated since HTML4, Obsolete since HTML5- This attribute is used to define a recommended cell height.
Note: Do not use this attribute as it is obsolete in the latest standard: use the CSS
height
property instead. valign
Obsolete since 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 asbottom
.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.
Note: Do not use this attribute as it is obsolete in the latest standard: use the CSSvertical-align
property instead. width
Deprecated since HTML4, Obsolete since HTML5- This attribute is used to define a recommended cell width. Additional space can be added with the
cellspacing
andcellpadding
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.Note: Do not use this attribute as it is obsolete in the latest standard: use the CSSwidth
property instead.
Examples
See <table>
for examples on <th>
.
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'th element' in that specification. |
Living Standard | |
HTML5 The definition of 'th element' in that specification. |
Recommendation |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
th | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
abbr | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
align | Chrome ? | Edge Full support 12 | Firefox
No support
No
| IE Full support Yes | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android
No support
No
| Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
axis | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
bgcolor | Chrome ? | Edge ? | Firefox No support No | IE Full support Yes | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
char | Chrome ? | Edge Full support 12 | Firefox
No support
No
| IE Full support Yes | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android
No support
No
| Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
charoff | Chrome ? | Edge Full support 12 | Firefox
No support
No
| IE Full support Yes | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android
No support
No
| Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
colspan | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
headers | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
rowspan | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
scope | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
valign | Chrome ? | Edge Full support 12 | Firefox
No support
No
| IE Full support Yes | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android
No support
No
| Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
width | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.
- See implementation notes.
- See implementation notes.