caption-side

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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.

Try it

Syntax

css
/* Directional values */
caption-side: top;
caption-side: bottom;

/* Global values */
caption-side: inherit;
caption-side: initial;
caption-side: revert;
caption-side: revert-layer;
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 at the block start side of the table.

bottom

The caption box should be positioned at the block end side of the table.

Note: The CSS logical properties and values module defines two logical values, inline-start and inline-end, to position the caption box at the inline start edge and inline end edge of the table, respectively. These values are not supported in any browsers.

Formal definition

Initial valuetop
Applies totable-caption elements
Inheritedyes
Computed valueas specified
Animation typediscrete

Formal syntax

caption-side = 
top |
bottom

Examples

Setting captions above and below

HTML

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

css
.top caption {
  caption-side: top;
}

.bottom caption {
  caption-side: bottom;
}

table {
  border: 1px solid red;
}

td {
  border: 1px solid blue;
}

Result

Specifications

Specification
Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification
# propdef-caption-side
CSS Logical Properties and Values Level 1
# caption-side

Browser compatibility

BCD tables only load in the browser

See also