position: 'sticky'
приземлилась в Chrome 56, но при определенных обстоятельствах граница становится невидимой.
Рассмотрим следующий пример:
table {
border-collapse: collapse;
}
thead {
position: sticky;
top: 0;
}
th {
background-color: #fff;
border-right: 5px solid red;
}
<table>
<thead>
<tr>
<th>First</th>
<th>Second</th>
<th>Third</th>
</tr>
</thead>
</table>