Задайте для ячейки таблицы позицию relative
, а затем установите для всплывающего окна позицию absolute
, чтобы она перекрывалась. Затем просто переключите его отображение при наведении. Я управляю смещением с помощью translateY
.
.details {
position: relative;
}
.details span {
position: absolute;
top: 0;
transform: translateY(70%);
display: none;
background: white;
z-index: 20;
min-width: 100%;
padding: 1rem;
border: 1px solid black;
}
.details:hover span {
display: inline;
}
td {
padding: 1rem;
background: whitesmoke;
border: 1px solid black;
}
<table>
<tr>
<td class='details'>
hover for details
<span>more info here</span>
</td>
<td>stuff</td>
<td>stuff</td>
<td>stuff</td>
</tr>
<tr>
<td class='details'>
hover for details
<span>more info here</span>
</td>
<td>stuff</td>
<td>stuff</td>
<td>stuff</td>
</tr>
<tr>
<td class='details'>
hover for details
<span>more info here</span>
</td>
<td>stuff</td>
<td>stuff</td>
<td>stuff</td>
</tr>
</table>