datatables.net-fixedcolumns-bs4
Version:
FixedColumns for DataTables with styling for [Bootstrap4](https://getbootstrap.com/docs/4.6/getting-started/introduction/)
100 lines (93 loc) • 2.75 kB
CSS
:root {
--dtfc_background: white;
--dtfc-thead-cell_background: var(--dtfc_background);
--dtfc-tbody-cell_background: var(--dtfc_background);
}
:root.dark {
--dtfc_background: rgb(33, 37, 41);
}
table.dataTable thead tr > .dtfc-fixed-start,
table.dataTable thead tr > .dtfc-fixed-end,
table.dataTable tfoot tr > .dtfc-fixed-start,
table.dataTable tfoot tr > .dtfc-fixed-end {
top: 0;
bottom: 0;
z-index: 3;
background-color: var(--dtfc-thead-cell_background);
}
table.dataTable tbody tr > .dtfc-fixed-start,
table.dataTable tbody tr > .dtfc-fixed-end {
z-index: 1;
background-color: var(--dtfc-tbody-cell_background);
}
table.dataTable tr > .dtfc-fixed-left::after,
table.dataTable tr > .dtfc-fixed-right::after {
position: absolute;
top: 0;
bottom: 0;
width: 10px;
transition: box-shadow 0.3s;
content: "";
pointer-events: none;
}
table.dataTable tr > .dtfc-fixed-left::after {
right: 0;
transform: translateX(100%);
}
table.dataTable tr > .dtfc-fixed-right::after {
left: 0;
transform: translateX(-80%);
}
table.dataTable.dtfc-scrolling-left tr > .dtfc-fixed-left::after {
box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.2);
}
table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right::after {
box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.2);
}
table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right + .dtfc-fixed-right::after {
box-shadow: none;
}
div.dt-scroll,
div.dtfh-floatingparent {
position: relative;
}
div.dt-scroll div.dtfc-top-blocker,
div.dt-scroll div.dtfc-bottom-blocker,
div.dtfh-floatingparent div.dtfc-top-blocker,
div.dtfh-floatingparent div.dtfc-bottom-blocker {
position: absolute;
background-color: var(--dtfc-thead-cell_background);
}
html.dark table.dataTable.dtfc-scrolling-left tbody > tr > .dtfc-fixed-left::after {
box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.3);
}
html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right::after {
box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.3);
}
html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right + .dtfc-fixed-right::after {
box-shadow: none;
}
div.dtfc-top-blocker,
div.dtfc-top-blocker {
border-bottom: 0px solid #ddd ;
}
table.dataTable {
border-collapse: separate;
}
table.dataTable.table-bordered {
border-left-width: 0;
border-right-width: 0;
}
table.dataTable.table-bordered th,
table.dataTable.table-bordered td {
border-right-width: 0;
border-top-width: 0;
}
table.dataTable.table-bordered th:last-child,
table.dataTable.table-bordered td:last-child {
border-right: 1px solid #dee2e6;
}
table.dataTable.table-bordered tr:last-child th,
table.dataTable.table-bordered tr:last-child td {
border-bottom-width: 0;
}