У меня есть обычная таблица:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
</table>
Мне нужно, чтобы при наведении на первую ячейку вся строка выделялась в единичную рамку. Рамок между самими ячейками быть не должно. Как бы обводка всей строки должна быть.
Я сделал так:
td:first-child:hover {
border-left: 1px solid green;
border-top: 1px solid green;
border-bottom: 1px solid green;
}
td:first-child:hover ~ td {
border-top: 1px solid green;
border-bottom: 1px solid green;
}
td:first-child:hover ~ td:last-child {
border-right: 1px solid green;
}
Но border-top работает только для первой строки, так как благодаря border-collapse: collapse рамка принадлежит td-шкам предыдущей строки и выглядит это следующим образом:
Пробовал и через border-collapse: separate; border-spacing: 0. Но в таком случае получается двойная рамка между ячейками, а мне это не нужно: