when using a scrollable PrimeVue DataTable with fixed column widths (using px), in conjunction with Bootstrap grid, I am getting this behaviour:
This issue only seems to occur if the table has more than roughly 5 rows, and will happen reactively (i.e. if the table has 3 rows on page load and more rows are added, the header will break as shown above).
Here is my HTML (irrelevant parts are omitted hence the odd structure):
<html lang="en">
<head></head>
<body>
<div>
<div class="container-fluid">
<div>
<div>
<div class="row no-gutters">
<div class="col-xs-12 col-sm-12 col-md-4">
<div class="row no-gutters p-2">
<div class="custom-card">
<div class="row no-gutters">
<div class="col">
<data-table></data-table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
I am also using the following CSS classes (including overwritten PrimeVue CSS):
.custom-card {
background-color: #ffffff;
border-radius: 10px;
border: 1px solid #dee2e6;
padding: 8px;
width: 100%;
}
.p-filter-column,
.p-datatable-row td,
.p-datatable-emptymessage p {
word-break: break-all !important;
padding-top: 0.1rem !important;
padding-bottom: 0.1rem !important;
padding-left: 0.3rem !important;
padding-right: 0.3rem !important;
}
.p-datatable-emptymessage p{
margin-bottom: 0;
}
.p-datatable-emptymessage td{
padding: 0 !important;
}
.p-datatable-header,
.p-paginator-bottom,
thead.p-datatable-thead tr th {
word-break: break-all !important;
padding: 0.3rem !important;
}
.p-paginator .p-paginator-pages .p-paginator-page.p-highlight {
background: #6dbfd5 !important;
border-color: #6dbfd5 !important;
color: #ffffff;
}
.p-paginator .p-paginator-pages .p-paginator-page.p-highlight:hover {
background: #31859c !important;
border-color: #31859c !important;
color: #ffffff;
}
.p-paginator,
.p-paginator .p-paginator-last,
.p-paginator .p-paginator-first,
.p-paginator .p-paginator-next,
.p-paginator .p-paginator-prev,
.p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight),
.p-datatable .p-sortable-column.p-highlight,
.p-sortable-column-icon {
color: #212529 !important;
}
.p-paginator .p-paginator-pages .p-paginator-page,
.p-paginator .p-paginator-first,
.p-paginator .p-paginator-last,
.p-paginator .p-paginator-next,
.p-paginator .p-paginator-prev {
min-width: 1.8rem !important;
height: 1.8rem !important;
}