datatables.net-select-dt
Version:
Select for DataTables with styling for [DataTables](https://datatables.net/)
114 lines (109 loc) • 3.07 kB
CSS
:root {
--dtsl-tick_margin-top: -8px;
--dtsl-tick_line-height: 6px;
--dtsl-tick_border: 1px solid;
--dtsl-tick_border-checked: 1px solid;
--dtsl-tick_content-checked: '\2713';
}
table.dataTable > tbody > tr > .selected {
background-color: rgb(var(--dt_background-selected));
color: rgb(var(--dt_color-selected));
}
table.dataTable > tbody > tr > .selected a {
color: rgb(var(--dt_link_color-selected));
}
div.dt-container span.select-info,
div.dt-container span.select-item {
margin-left: 0.5em;
}
@media screen and (max-width: 640px) {
div.dt-container span.select-info,
div.dt-container span.select-item {
margin-left: 0;
display: block;
}
}
table.dataTable > tbody > tr > .dt-select {
text-align: center;
vertical-align: middle;
}
table.dataTable > thead > tr > .dt-select {
text-align: center;
vertical-align: middle;
}
table.dataTable > thead > tr > .dt-select input.dt-select-checkbox {
margin-left: auto;
margin-right: auto;
}
table.dataTable input.dt-select-checkbox {
appearance: none;
position: relative;
display: inline-block;
width: 12px;
height: 12px;
border: var(--dtsl-tick_border);
border-radius: 3px;
vertical-align: middle;
margin-top: 1px;
color: inherit;
font-size: 20px;
line-height: 1em;
}
table.dataTable input.dt-select-checkbox:checked:after {
display: block;
content: var(--dtsl-tick_content-checked);
margin-top: var(--dtsl-tick_margin-top);
}
table.dataTable input.dt-select-checkbox:indeterminate:after {
display: block;
position: absolute;
content: " ";
top: 3px;
left: 3px;
height: 4px;
width: 4px;
background-color: black;
border-radius: 2px;
}
table.dataTable > tbody > tr.selected input.dt-select-checkbox:checked {
border: var(--dtsl-tick_border-checked);
}
table.dataTable > tbody > tr > td.select-checkbox,
table.dataTable > tbody > tr > th.select-checkbox {
position: relative;
}
table.dataTable > tbody > tr > td.select-checkbox:before,
table.dataTable > tbody > tr > th.select-checkbox:before {
display: block;
position: absolute;
top: 50%;
left: 50%;
width: 12px;
height: 12px;
box-sizing: border-box;
content: " ";
margin-top: -6px;
margin-left: -6px;
border: var(--dtsl-tick_border);
border-radius: 3px;
}
table.dataTable > tbody > tr.selected > td.select-checkbox:before,
table.dataTable > tbody > tr.selected > th.select-checkbox:before {
border: var(--dtsl-tick_border-checked);
content: "✓";
font-size: 20px;
line-height: var(--dtsl-tick_line-height);
text-align: center;
}
table.dataTable.compact > tbody > tr > td.select-checkbox:before,
table.dataTable.compact > tbody > tr > th.select-checkbox:before {
margin-top: -12px;
}
table.dataTable.compact > tbody > tr.selected > td.select-checkbox:after,
table.dataTable.compact > tbody > tr.selected > th.select-checkbox:after {
margin-top: -16px;
}
html.dark table.dataTable input.dt-select-checkbox:indeterminate:after,
html[data-bs-theme=dark] table.dataTable input.dt-select-checkbox:indeterminate:after {
background-color: white;
}