<div class="container">
  <table class="default">
    <caption><em>Caption: Table title. Position: top (default).</em></caption>
    <thead>
      <tr>
        <th>Header content 1</th>
        <th>Header content 2</th>
      </tr>
    </thead>
    <tfoot>
      <tr>
        <td>Footer content 1</td>
        <td>Footer content 2</td>
      </tr>
    </tfoot>
    <tbody>
      <tr>
        <td>Body content 1</td>
        <td>Body content 2</td>
      </tr>
    </tbody>
  </table>
  <hr>
  <table>
    <caption><em>Caption: Table title. Position: bottom.</em></caption>
    <thead>
      <tr>
        <th>Header content 1</th>
        <th>Header content 2</th>
      </tr>
    </thead>
    <tfoot>
      <tr>
        <td>Footer content 1</td>
        <td>Footer content 2</td>
      </tr>
    </tfoot>
    <tbody>
      <tr>
        <td>Body content 1</td>
        <td>Body content 2</td>
      </tr>
    </tbody>
  </table>
</div>
body {
  color: #555;
  background: #f9f9f9;
  font-size: 1.1em;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.container {
  margin: 40px auto;
  width: 90%;
}

table {
  margin: 2em;
  background: #fff;
}

table,
td,
th {
  padding: 1em;
  border: 1px solid #ddd;
}

th {
  background: #d2d0dc;
}

td {
  background: #e3e5ef;
}

caption {
  caption-side: bottom;
  padding: .5em;
  color: #de64a4;
}

.default caption {
  caption-side: top;
}