I have made a table which scrolls vertically when there is too many rows. This can be seen here https://jsfiddle.net/hp5je3ko/1/. However, I would like to add a border radius to the table. As you can see, adding a border radius to the table
itself only shows up when you scroll right to the bottom. Adding a border radius to .table-wrapper
almost works. However, the top right and top left corners are not rounded properly because the scroll bar is inside the wrapper.
How can I make this border radius work?
Thanks.
.table-wrapper {
height: 400px;
max-height: 400px;
overflow-y: auto;
text-align: left;
}
.table-wrapper * {
margin: 0;
box-sizing: border-box;
}
.table-wrapper table {
border-collapse: separate;
font-size: 13px;
background-color: #121212;
text-transform: uppercase;
border-spacing: 0;
table-layout: fixed;
border-radius: 30px;
color: #fff;
}
table thead tr th {
padding: 18px 24px;
border-bottom: 1px solid #1c1c1c;
position: sticky;
top: 0;
background-color: #121212;
}
table tbody tr td {
padding: 11px 24px;
overflow: hidden;
text-overflow: ellipsis;
}
<div class="table-wrapper">
<table>
<thead>
<tr>
<th>Item</th>
<th>Item</th>
<th>Item</th>
<th>Item</th>
<th>Item</th>
<th>Item</th>
</tr>
</thead>
<tbody>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
</tbody>
</table>
</div>
removed table border-radius
Main idea to make wrapper width: fit-content
, add to it border-radius
and make scrollbar width: 0
.table-wrapper {
height: 400px;
max-height: 400px;
overflow-y: auto;
text-align: left;
width: fit-content;
border-radius: 30px;
}
.table-wrapper * {
margin: 0;
box-sizing: border-box;
}
.table-wrapper table {
border-collapse: separate;
font-size: 13px;
background-color: #121212;
text-transform: uppercase;
border-spacing: 0;
table-layout: fixed;
color: #fff;
}
table thead tr th {
padding: 18px 24px;
border-bottom: 1px solid #1c1c1c;
position: sticky;
top: 0;
background-color: #121212;
}
table tbody tr td {
padding: 11px 24px;
overflow: hidden;
text-overflow: ellipsis;
}
::-webkit-scrollbar {
width: 0;
}
<div class="table-wrapper">
<table>
<thead>
<tr>
<th>Item</th>
<th>Item</th>
<th>Item</th>
<th>Item</th>
<th>Item</th>
<th>Item</th>
</tr>
</thead>
<tbody>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
<tr>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
<td>Thingggg</td>
</tr>
</tbody>
</table>
</div>