Сейчас у меня есть таблица, которая поддерживает прокрутку при переполнении элементов. Мне нужно, чтобы заголовок был стабильным при прокрутке пользователя, однако по какой-то причине заголовок перемещается вверх примерно на 10px
, прежде чем застрять.
Демонстрация GIF
HTML
<div className='tasks-container'>
<table className='task-table'>
<tbody>
<tr className='tasks-header'>
<th>Store</th>
<th>Product</th>
<th>Size</th>
<th>Profile</th>
<th>Proxies</th>
<th>Status</th>
<th>Actions</th>
</tr>
{this.renderTaskData()}
</tbody>
</table>
</div>
this.renderTaskData()
просто отображает элементы таблицы, используя td
внутри tr
через ReactJS.
SASS
@import '../../styles/fonts.scss';
@import '../../styles/colors.scss';
.tasks-container {
height: 80vh;
}
.task-table {
margin-left: 85px;
margin-top: 30px;
width: calc(100% - 107px);
user-select: none;
border-spacing: 0 10px;
display: block;
overflow-y: auto;
overflow-x: hidden;
height: 100%;
tbody {
display: table;
width: 100%;
}
&::-webkit-scrollbar {
display: none;
}
-ms-overflow-style: none;
}
.tasks-header {
font-family: 'Muli', sans-serif;
font-size: 12px;
font-weight: $extra-bold;
color: $text-light;
letter-spacing: 1px;
text-align: left;
th {
padding-left: 36px;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 5;
background-color: $background;
padding-bottom: 10px;
}
}
td {
color: $text-grey;
font-family: 'Muli', sans-serif;
font-size: 12px;
font-weight: $extra-bold;
letter-spacing: 1px;
text-align: left;
background-color: $input-box;
height: 45px;
padding-left: 36px;
white-space: nowrap;
&:first-child {
border-top-left-radius: 7px;
border-bottom-left-radius: 7px;
}
&:last-child {
border-top-right-radius: 7px;
border-bottom-right-radius: 7px;
}
p {
display: inline-block;
margin-left: 10px;
}
}
.task-container {
transition: 0.3s;
&:hover {
filter: brightness(115%);
}
}
.Idle {
div {
background-color: $status-yellow;
height: 8px;
width: 8px;
border-radius: 50%;
display: inline-block;
}
p {
color: $status-yellow;
}
}
Я считаю, что проблема заключается в border-spacing
в классе task-table
, потому что, когда я удаляю его и добавляю border-spacing: 0
или border-collapse: collapse
, строки теряют интервал, но проблема с прокруткой решено.
Как я могу это исправить, сохранив при этом интервал границ?