For those wondering how to implement Garry's solution with more than one header this is it:
#wrapper {
width: 235px;
}
table {
border: 1px solid black;
width: 100%;
}
th,
td {
width: 100px;
border: 1px solid black;
}
thead>tr {
position: relative;
display: block;
}
tbody {
display: block;
height: 80px;
overflow: auto;
}
| column1 |
column2 |
| row1 |
row1 |
| row2 |
row2 |
| row3 |
row3 |
| row4 |
row4 |