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

Я хочу создать таблицу только с частично разделенными границами. Границы выше и ниже thead должно быть без пробелов между ними. Но другие в нем должны быть отделены небольшим пространством.

К сожалению, border-spacing стиль применяется только ко всей таблице: https://developer.mozilla.org/en-US/docs/Web/CSS/border-spacing

Например, в следующем я хочу иметь место только между border-top из h2.1 а также h2.2, Это возможно?

HTML:

<table>
  <thead>
    <tr>
      <th rowspan="2">h1</th>
      <th colspan="2">h2</th>
    </tr>
    <tr>
      <th>h2.1</th>
      <th>h2.2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>b1</td>
      <td>b2.1</td>
      <td>b2.2</td>
    </tr>
    <tr>
      <td>b1</td>
      <td>b2.1</td>
      <td>b2.2</td>
    </tr>
  </tbody>
</table>

CSS:

table {
  border-collapse: separate;
}

th,
td {
  vertical-align: top;
}

thead tr:first-child th {
  border-top: 2px solid;
}

thead tr:not(:first-child) th {
  border-top: 1px solid;
}

tbody tr:first-child td {
  border-top: 1px solid;
}

tbody tr {
  border-top: 1px solid;
}

Скрипка: https://jsfiddle.net/6ov4hadd/

редактировать

Вот более разумный пример.

Скрипка: https://jsfiddle.net/Lnk929q4/

Я хочу выглядеть как "книжный стол":

введите описание изображения здесь

1 ответ

Вы можете попробовать использовать две разные таблицы для головы и тела. Что-то вроде этого

https://jsfiddle.net/6ov4hadd/1/

        <table id = "table1">
          <thead>
            <tr>
              <th rowspan="2">h1</th>
              <th colspan="2">h2</th>
            </tr>
            <tr>
              <th>h2.1</th>
              <th>h2.2</th>
            </tr>
          </thead>
          </table>
          <table>
          <tbody>
            <tr>
              <td>b1</td>
              <td>b2.1</td>
              <td>b2.2</td>
            </tr>
            <tr>
              <td>b1</td>
              <td>b2.1</td>
              <td>b2.2</td>
            </tr>
          </tbody>
        </table>
Другие вопросы по тегам