Можно ли сверстать сложную таблицу как на рисунке?

Выглядит так:
введите сюда описание изображения
Группировка по дням сообщений вверху слева с начала группы. Далее полоса до конца таблицы. И вертикальные границы ячеек с данными у группы не доходят до конца горизонтальных границ группы.
Может есть или пример похожей таблицы или подсказку как это сделать? Если это вообще возможно.
Пока ничего в голову не пришло.


Ответы (1 шт):

Автор решения: UserTest013

Если я правильно понял рисунок, то достаточно чтобы один с блоков имел непрозрачный фон и "вылез" на границы таблицы. Вот набросал пример на скорую руку, но думаю можно и проще и красивей сделать.

table {
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1em;
}

td,
th {
  border: 1px solid black;
  padding: 1em 2em;
}

.group {
  position: relative;
  height: 3em;
}

.group span {
  display: block;
  position: absolute;
  top: 1em;
  width: max-content;
  padding: .5em 1em;
  border: 1px solid black;
  background: white;
  border-radius: .5em;
}

.group td {
  position: absolute;
  display: block;
  background: white;
  border: none;
  top: -.5em;
  left: -1px;
  padding: 0;
  height: 4em;
  width: calc(100% + 2px);
}

.group td::before {
  content: "";
  border-top: 1px solid black;
  width: 100%;
  display: block;
  position: absolute;
  top: 2em;
}
<table>
  <tr>
    <th>col 1</th>
    <th>col 2</th>
    <th>col 3</th>
  </tr>
  <tr class="group">
    <td colspan="3"><span>01.01.2021</span></td>
  </tr>
  <tr>
    <td>text</td>
    <td>text</td>
    <td>text</td>
  </tr>
  <tr>
    <td>text</td>
    <td>text</td>
    <td>text</td>
  </tr>
  <tr class="group">
    <td colspan="3"><span>01.01.2021</span></td>
  </tr>
  <tr>
    <td>text</td>
    <td>text</td>
    <td>text</td>
  </tr>
  <tr>
    <td>text</td>
    <td>text</td>
    <td>text</td>
  </tr>
</table>

→ Ссылка