HTML Table different number of columns in different rows

On the realisation that you’re unfamiliar with colspan, I presumed you’re also unfamiliar with rowspan, so I thought I’d throw that in for free.

One important point to note, when using rowspan: the following tr elements must contain fewer td elements, because of the cells using rowspan in the previous row (or previous rows).

table {
  border: 1px solid #000;
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #000;
}
<table>
  <thead>
    <tr>
      <th colspan="2">Column one and two</th>
      <th>Column three</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="2" colspan="2">A large cell</td>
      <td>a smaller cell</td>
    </tr>
    <tr>
      <!-- note that this row only has _one_ td, since the preceding row
                     takes up some of this row -->
      <td>Another small cell</td>
    </tr>
  </tbody>
</table>

Leave a Comment