Spaces:
Running
Running
// | |
// Basic Bootstrap table | |
// | |
.table { | |
width: 100%; | |
margin-bottom: $spacer; | |
color: $table-color; | |
background-color: $table-bg; // Reset for nesting within parents with `background-color`. | |
th, | |
td { | |
padding: $table-cell-padding; | |
vertical-align: top; | |
border-top: $table-border-width solid $table-border-color; | |
} | |
thead th { | |
vertical-align: bottom; | |
border-bottom: (2 * $table-border-width) solid $table-border-color; | |
} | |
tbody + tbody { | |
border-top: (2 * $table-border-width) solid $table-border-color; | |
} | |
} | |
// | |
// Condensed table w/ half padding | |
// | |
.table-sm { | |
th, | |
td { | |
padding: $table-cell-padding-sm; | |
} | |
} | |
// Border versions | |
// | |
// Add or remove borders all around the table and between all the columns. | |
.table-bordered { | |
border: $table-border-width solid $table-border-color; | |
th, | |
td { | |
border: $table-border-width solid $table-border-color; | |
} | |
thead { | |
th, | |
td { | |
border-bottom-width: 2 * $table-border-width; | |
} | |
} | |
} | |
.table-borderless { | |
th, | |
td, | |
thead th, | |
tbody + tbody { | |
border: 0; | |
} | |
} | |
// Zebra-striping | |
// | |
// Default zebra-stripe styles (alternating gray and transparent backgrounds) | |
.table-striped { | |
tbody tr:nth-of-type(#{$table-striped-order}) { | |
background-color: $table-accent-bg; | |
} | |
} | |
// Hover effect | |
// | |
// Placed here since it has to come after the potential zebra striping | |
.table-hover { | |
tbody tr { | |
@include hover { | |
color: $table-hover-color; | |
background-color: $table-hover-bg; | |
} | |
} | |
} | |
// Table backgrounds | |
// | |
// Exact selectors below required to override `.table-striped` and prevent | |
// inheritance to nested tables. | |
@each $color, $value in $theme-colors { | |
@include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level)); | |
} | |
@include table-row-variant(active, $table-active-bg); | |
// Dark styles | |
// | |
// Same table markup, but inverted color scheme: dark background and light text. | |
// stylelint-disable-next-line no-duplicate-selectors | |
.table { | |
.thead-dark { | |
th { | |
color: $table-dark-color; | |
background-color: $table-dark-bg; | |
border-color: $table-dark-border-color; | |
} | |
} | |
.thead-light { | |
th { | |
color: $table-head-color; | |
background-color: $table-head-bg; | |
border-color: $table-border-color; | |
} | |
} | |
} | |
.table-dark { | |
color: $table-dark-color; | |
background-color: $table-dark-bg; | |
th, | |
td, | |
thead th { | |
border-color: $table-dark-border-color; | |
} | |
&.table-bordered { | |
border: 0; | |
} | |
&.table-striped { | |
tbody tr:nth-of-type(odd) { | |
background-color: $table-dark-accent-bg; | |
} | |
} | |
&.table-hover { | |
tbody tr { | |
@include hover { | |
color: $table-dark-hover-color; | |
background-color: $table-dark-hover-bg; | |
} | |
} | |
} | |
} | |
// Responsive tables | |
// | |
// Generate series of `.table-responsive-*` classes for configuring the screen | |
// size of where your table will overflow. | |
.table-responsive { | |
@each $breakpoint in map-keys($grid-breakpoints) { | |
$next: breakpoint-next($breakpoint, $grid-breakpoints); | |
$infix: breakpoint-infix($next, $grid-breakpoints); | |
&#{$infix} { | |
@include media-breakpoint-down($breakpoint) { | |
display: block; | |
width: 100%; | |
overflow-x: auto; | |
-webkit-overflow-scrolling: touch; | |
// Prevent double border on horizontal scroll due to use of `display: block;` | |
> .table-bordered { | |
border: 0; | |
} | |
} | |
} | |
} | |
} | |