diff --git a/docs/content/tables.md b/docs/content/tables.md index 234c2ec880a7..b3224e0bb8fb 100644 --- a/docs/content/tables.md +++ b/docs/content/tables.md @@ -488,7 +488,7 @@ Use contextual classes to color table rows or individual cells.
- +
@@ -577,7 +577,7 @@ Use contextual classes to color table rows or individual cells. Regular table background variants are not available with the inverse table, however, you may use [text or background utilities]({{ site.baseurl }}/utilities/colors/) to achieve similar styles.
-
#
+
diff --git a/scss/_tables.scss b/scss/_tables.scss index 47c3ac2979f1..0570d3e55edd 100644 --- a/scss/_tables.scss +++ b/scss/_tables.scss @@ -82,6 +82,11 @@ tbody tr { @include hover { background-color: $table-bg-hover; + + td, + th { + background-color: $table-bg-hover; + } } } } @@ -93,11 +98,11 @@ // inheritance to nested tables. // Generate the contextual variants -@include table-row-variant(active, $table-bg-active); -@include table-row-variant(success, $state-success-bg); -@include table-row-variant(info, $state-info-bg); -@include table-row-variant(warning, $state-warning-bg); -@include table-row-variant(danger, $state-danger-bg); +@include table-row-variant(active, $table-bg-active, $table-bg-active-hover); +@include table-row-variant(success, $state-success-bg, $state-success-hover-bg); +@include table-row-variant(info, $state-info-bg, $state-info-hover-bg); +@include table-row-variant(warning, $state-warning-bg, $state-warning-hover-bg); +@include table-row-variant(danger, $state-danger-bg, $state-danger-hover-bg); // Inverse styles @@ -131,9 +136,32 @@ &.table-bordered { border: 0; } -} + &.table-striped { + tbody tr:nth-of-type(odd) { + background-color: $table-bg-inverse-accent; + } + } + + &.table-hover { + tbody tr { + @include hover { + background-color: $table-bg-inverse-hover; + + td, + th { + background-color: $table-bg-inverse-hover; + } + } + } + } +} +@include table-inverse-row-variant(active, $table-bg-inverse-active, $table-bg-inverse-active-hover); +@include table-inverse-row-variant(success, $state-success-text, $state-success-inverse-hover-bg); +@include table-inverse-row-variant(info, $state-info-text, $state-info-inverse-hover-bg); +@include table-inverse-row-variant(warning, $state-warning-text, $state-warning-inverse-hover-bg); +@include table-inverse-row-variant(danger, $state-danger-text, $state-danger-inverse-hover-bg); // Responsive tables // diff --git a/scss/_variables.scss b/scss/_variables.scss index 7a27f1e3b890..1b1cb8e6e072 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -341,6 +341,12 @@ $table-inverse-color: $body-bg !default; $table-bg-accent: rgba($black,.05) !default; $table-bg-hover: rgba($black,.075) !default; $table-bg-active: $table-bg-hover !default; +$table-bg-active-hover: darken($table-bg-hover, 5%) !default; + +$table-bg-inverse-accent: rgba($white, .10) !default; +$table-bg-inverse-hover: rgba($white, .15) !default; +$table-bg-inverse-active: $table-bg-inverse-hover !default; +$table-bg-inverse-active-hover: lighten($table-bg-inverse-hover, 5%) !default; $table-head-bg: $gray-lighter !default; $table-head-color: $gray !default; @@ -671,19 +677,27 @@ $jumbotron-bg: $gray-lighter !default; $state-success-text: #3c763d !default; $state-success-bg: #dff0d8 !default; $state-success-border: darken($state-success-bg, 5%) !default; +$state-success-hover-bg: darken($state-success-bg, 5%) !default; +$state-success-inverse-hover-bg: lighten($state-success-text, 5%) !default; $state-info-text: #31708f !default; $state-info-bg: #d9edf7 !default; $state-info-border: darken($state-info-bg, 7%) !default; +$state-info-hover-bg: darken($state-info-bg, 5%) !default; +$state-info-inverse-hover-bg: lighten($state-info-text, 5%) !default; $state-warning-text: #8a6d3b !default; $state-warning-bg: #fcf8e3 !default; $mark-bg: $state-warning-bg !default; $state-warning-border: darken($state-warning-bg, 5%) !default; +$state-warning-hover-bg: darken($state-warning-bg, 5%) !default; +$state-warning-inverse-hover-bg: lighten($state-warning-text, 5%) !default; $state-danger-text: #a94442 !default; $state-danger-bg: #f2dede !default; $state-danger-border: darken($state-danger-bg, 5%) !default; +$state-danger-hover-bg: darken($state-danger-bg, 5%) !default; +$state-danger-inverse-hover-bg: lighten($state-danger-text, 5%) !default; // Cards diff --git a/scss/mixins/_table-row.scss b/scss/mixins/_table-row.scss index 84f1d305aaf5..32df0dab758f 100644 --- a/scss/mixins/_table-row.scss +++ b/scss/mixins/_table-row.scss @@ -1,27 +1,44 @@ // Tables -@mixin table-row-variant($state, $background) { - // Exact selectors below required to override `.table-striped` and prevent - // inheritance to nested tables. +@mixin table-row-variant($state, $background, $hover-background) { .table-#{$state} { &, - > th, - > td { + th, + td { background-color: $background; } } - // Hover states for `.table-hover` - // Note: this is not available for cells or rows within `thead` or `tfoot`. .table-hover { - $hover-background: darken($background, 5%); + .table-#{$state} { + @include hover { + background-color: $hover-background; + + td, + th { + background-color: $hover-background; + } + } + } + } +} + +@mixin table-inverse-row-variant($state, $background, $hover-background) { + .table-inverse .table-#{$state} { + &, + th, + td { + background-color: $background; + } + } + .table-inverse.table-hover { .table-#{$state} { @include hover { background-color: $hover-background; - > td, - > th { + td, + th { background-color: $hover-background; } }
#