Нижняя граница на поверхности перекрывает границу в теле с границей свертывания в таблице - PullRequest
0 голосов
/ 02 апреля 2020

Я использую таблицу в HTML, и я хотел установить немного стиля. Я добавил bottom-border к thead моей таблицы, и есть активный класс для tbody tr, который добавляет границу.
Однако bottom-border thead перекрывает border-top активного класса.

Это из-за границы коллапса, но мне это нужно, потому что указатель на tbody tr не работает должным образом. Действительно, это добавляет пробелы между каждым столбцом.

Как я могу решить эту проблему?

Вот код:

table {
  border-collapse: collapse;
  cursor: default;
}

table thead {
  border-bottom: 2px solid;
  text-align: center;
}

table thead th {
  font-weight: normal;
}

table th,
table td {
  padding: 5px 10px;
}

table tbody tr:hover {
  background-color: grey;
}

table tbody tr.active {
  border: 1px solid blue;
}
<table>
  <thead>
    <tr>
      <th>Column1</th>
      <th>Column2</th>
      <th>Column3</th>
      <th>Column4</th>
    </tr>
  </thead>
  <tbody>
    <tr class="active">
      <td>A</td>
      <td>B</td>
      <td>C</td>
      <td>D</td>
    </tr>
    <tr>
      <td>E</td>
      <td>F</td>
      <td>G</td>
      <td>H</td>
    </tr>
  </tbody>
</table>

1 Ответ

1 голос
/ 03 апреля 2020

Наконец я нашел трюк. Я добавляю :before к tbody и box-shadow вместо border-bottom для thead.

table {
  border-collapse: collapse;
  cursor: default;
}

table thead {
  box-shadow: 0 2px grey;
  text-align: center;
}

table thead th {
  font-weight: normal;
}

table th,
table td {
  padding: 5px 10px;
}

table tbody tr:hover {
  background-color: grey;
}

table tbody tr.active {
  border: 1px solid blue;
}

table tbody:before {
  line-height: 0px;
  content: "\200C";
  display: block;
}
<table>
  <thead>
    <tr>
      <th>Column1</th>
      <th>Column2</th>
      <th>Column3</th>
      <th>Column4</th>
    </tr>
  </thead>
  <tbody>
    <tr class="active">
      <td>A</td>
      <td>B</td>
      <td>C</td>
      <td>D</td>
    </tr>
    <tr>
      <td>E</td>
      <td>F</td>
      <td>G</td>
      <td>H</td>
    </tr>
  </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...