Spec-Zone.ru › CSS

`caption-side` CSS property

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

caption-side: top;
caption-side: bottom;
<section class="default-example" id="default-example">
  <table class="transition-all" id="example-element">
    <caption>
      Famous animals
    </caption>
    <tbody>
      <tr>
        <th>Name</th>
        <th>Location</th>
      </tr>
      <tr>
        <td>Giraffe</td>
        <td>Africa</td>
      </tr>
      <tr>
        <td>Penguin</td>
        <td>Antarctica</td>
      </tr>
      <tr>
        <td>Sloth</td>
        <td>South America</td>
      </tr>
      <tr>
        <td>Tiger</td>
        <td>Asia</td>
      </tr>
    </tbody>
  </table>
</section>
table {
  font-size: 1.2rem;
  text-align: left;
  color: black;
}

th,
td {
  padding: 0.2rem 1rem;
}

caption {
  background: #ffcc33;
  padding: 0.5rem 1rem;
}

tr {
  background: #eeeeee;
}

tr:nth-child(even) {
  background: #cccccc;
}

Syntax

/* 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;

Values

This property is specified as one of the following keyword 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 value top
Applies to table-caption elements
Inherited yes
Computed value as specified
Animation type discrete

Formal syntax

caption-side = 
  top |
  bottom

Examples

Setting captions above and below

HTML

<table class="top">
  <caption>
    Caption ABOVE the table
  </caption>
  <tbody>
    <tr>
      <td>Some data</td>
      <td>Some more data</td>
    </tr>
  </tbody>
</table>

<br />

<table class="bottom">
  <caption>
    Caption BELOW the table
  </caption>
  <tbody>
    <tr>
      <td>Some data</td>
      <td>Some more data</td>
    </tr>
  </tbody>
</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
Cascading Style Sheets Level 2
# propdef-caption-side
CSS Logical Properties and Values Module Level 1
# caption-side

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS
caption-side
1
12
1
4
1
18
4
14
1
1.0
4.4
1
bottom
1
79
1
15
1
18
4
14
1
1.0
4.4
1
bottom-outside
No
No
1–87
No
preview
No
4–87
No
No
No
No
No
left
No
No
1–87
No
1–17
No
4–87
No
1–17
No
No
1–17
right
No
No
1–87
No
1–17
No
4–87
No
1–17
No
No
1–17
top
1
79
1
15
1
18
4
14
1
1.0
4.4
1
top-outside
No
No
1–87
No
preview
No
4–87
No
No
No
No
No
writing-mode_relative_values
No
No
42
No
No
No
42
No
No
No
No
No

See also

  • <caption>
  • CSS table module
  • CSS logical properties and values module

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/caption-side

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API