The HTML Table Caption element (<caption>
) specifies the caption (or title) of a table, and if used is always the first child of a <table>
. Its styling and physical position relative to the table may be changed using the CSS caption-side
and text-align
properties.
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. |
Tag omission | The end tag can be omitted if the element is not immediately followed by ASCII whitespace or a comment. |
Permitted parents | A <table> element, as its first descendant. |
Permitted ARIA roles | None |
DOM interface | HTMLTableCaptionElement |
Attributes
This element includes the global attributes.
Obsolete attributes
The following attributes are obsolete and should not be used. They are documented below for reference when updating existing code and for historical interest only.
align
- This enumerated attribute indicates how the caption must be aligned with respect to the table. It may have one of the following values:
left
- The caption is displayed to the left of the table.
top
- The caption is displayed above the table.
right
- The caption is displayed to the right of the table.
bottom
- The caption is displayed below the table.
Usage note: Do not use this attribute, as it has been deprecated. The<caption>
element should be styled using the CSS propertiescaption-side
andtext-align
.
Usage notes
When the <table>
element that contains the <caption>
is the only descendant of a <figure>
element, you should use the <figcaption>
element instead of <caption>
.
Example
This simple example presents a table that includes a caption.
<table> <caption>Example Caption</caption> <tr> <th>Login</th> <th>Email</th> </tr> <tr> <td>user1</td> <td>user1@sample.com</td> </tr> <tr> <td>user2</td> <td>user2@sample.com</td> </tr> </table>
caption { caption-side: top; align: right; } table { border-collapse: collapse; border-spacing: 0px; } table, th, td { border: 1px solid black; }
table {background: red;}
do not alter caption. For that you need display: block
.
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of '<caption>' in that specification. |
Living Standard | |
HTML5 The definition of '<caption>' in that specification. |
Recommendation | |
HTML 4.01 Specification The definition of '<caption>' in that specification. |
Recommendation |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
caption | Chrome Full support Yes | Edge Full support Yes | 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 Full support Yes | Edge Full support Yes | 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
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.