Вертикальные и горизонтальные заголовки в таблице?

Как бы получить таблицу с горизонтальными и вертикальными заголовками?

Так, например,

         header1 header2 header3 
header1    1        1      1
header2    2        2      2 
header3    3        3      3 

Ответ 1

Как и @UlrichSchwarz, вы можете просто использовать <th> вместо <td> в первом столбце. Используя область видимости, вы можете сделать ее более семантически описательной:

<table>
  <tr>
    <th></th>
    <th scope="col">header1</th>
    <th scope="col">header2</th>
    <th scope="col">header3</th>
  </tr>
  <tr>
    <th scope="row">header 1</th>
    <td>1</td>
    <td>1</td>
    <td>1</td>
  </tr>
  <tr>
    <th scope="row">header 2</th>
    <td>2</td>
    <td>2</td>
    <td>2</td>
  </tr>
  <tr>
    <th scope="row">header 3</th>
    <td>3</td>
    <td>3</td>
    <td>3</td>
  </tr>
</table>

Ответ 2

Пока вы можете просто <th> записи в первом столбце, не существует эквивалента столбца <thead>/<tbody>, о котором я знаю.

Ответ 3

легко. Просто оставьте первый td в первом tr - пустом