The caption-side CSS property puts the content of a table's <caption> on the specified side. The values are relative to the writing-mode of the table.
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.
Syntax
/* Directional values */ caption-side: top; caption-side: bottom; /* Warning: non-standard values */ caption-side: left; caption-side: right; caption-side: top-outside; caption-side: bottom-outside; /* Global values */ caption-side: inherit; caption-side: initial; caption-side: unset;
The caption-side property is specified as one of the keyword values listed below.
Values
top- The caption box should be positioned above the table.
bottom- The caption box should be positioned below the table.
left- The caption box should be positioned on the left side of the table.
-
This value was proposed for CSS 2, but removed from the final CSS 2.1 specification. It is non-standard.
right- The caption box should be positioned on the right side of the table.
-
This value was proposed for CSS 2, but removed from the final CSS 2.1 specification. It is non-standard.
top-outside- The caption box should be positioned above the table, while the width and horizontal alignment behavior are not bound to the table's horizontal layout.
-
The CSS 2.1 specification notes that the CSS 2 specification described a different behavior for the
topvalue, which will be reintroduced by this value in a future specification. bottom-outside- The caption box should be positioned below the table, while the width and horizontal alignment behavior are not bound to the table's horizontal layout.
-
The CSS 2.1 specification notes that the CSS 2 specification described a different behavior for the
bottomvalue, which will be reintroduced by this value in a future specification.
Formal definition
| Initial value | top |
|---|---|
| Applies to | table-caption elements |
| Inherited | yes |
| Computed value | as specified |
| Animation type | discrete |
Formal syntax
top | bottom | block-start | block-end | inline-start | inline-end
Examples
Setting captions above and below
HTML
<table class="top">
<caption>Caption ABOVE the table</caption>
<tr>
<td>Some data</td>
<td>Some more data</td>
</tr>
</table>
<br>
<table class="bottom">
<caption>Caption BELOW the table</caption>
<tr>
<td>Some data</td>
<td>Some more data</td>
</tr>
</table>
CSS
.top caption {
caption-side: top;
}
.bottom caption {
caption-side: bottom;
}
table {
border: 1px solid red;
}
td {
border: 1px solid blue;
}
Result
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Logical Properties and Values Level 1 The definition of 'caption-side' in that specification. |
Editor's Draft | Defines the top and bottom values as relative to the writing-mode value. |
| CSS Level 2 (Revision 1) The definition of 'caption-side' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
The compatibility table on 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
caption-side | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 8 | Opera Full support 4 | Safari Full support 1 | WebView Android Full support ≤37 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 14 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 |
Non-standard values left, right, top-outside, and bottom-outside | Chrome No support No | Edge No support No | Firefox Full support 1 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 4 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
top and bottom are relative to the writing-mode value | Chrome No support No | Edge No support No | Firefox Full support 42 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 42 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
Legend
- Full support
- Full support
- No support
- No support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
