| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- //
- // Basic Bootstrap table
- //
- .table {
- width: 100%;
- margin-bottom: @spacer;
- color: @table-color;
- // LESS PORT: Less doesn’t strip “empty” property values so we have to check for a value first.
- & when not (@table-bg = ~"") { 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 {
- #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(@theme-colors, #(@value, @color) {
- #table-row-variant(@color, theme-color-level(@color, @table-bg-level), theme-color-level(@color, @table-border-level));
- });
- #table-row-variant(active, @table-active-bg);
- // Dark styles
- //
- // Same table markup, but inverted color scheme: dark background and light text.
- .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(@{table-striped-order}) {
- background-color: @table-dark-accent-bg;
- }
- }
- &.table-hover {
- tbody tr {
- #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;
- // }
- // }
- // }
- // }
- //}
- each(map-keys(@grid-breakpoints), #(@breakpoint) {
- .table-responsive {
- @next: breakpoint-next(@breakpoint, @grid-breakpoints);
- @infix: breakpoint-infix(@next, @grid-breakpoints);
- &@{infix} {
- #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;
- }
- });
- }
- }
- });
|