aboutsummaryrefslogtreecommitdiff
path: root/scss
diff options
context:
space:
mode:
authorLouis-Maxime Piton <[email protected]>2023-04-26 05:32:27 +0200
committerGitHub <[email protected]>2023-04-25 20:32:27 -0700
commit5400415bb54753f49dc69fd2d79da8ed78173b32 (patch)
treeacf4ce71a3bb44d124ca8eb20fdb1a89396f310a /scss
parent9aab31ec4232e7e927703d9e495ec8eb3d37c831 (diff)
downloadbootstrap-5400415bb54753f49dc69fd2d79da8ed78173b32.tar.xz
bootstrap-5400415bb54753f49dc69fd2d79da8ed78173b32.zip
Table: active `<tr>` fix (#37084)
* Adding the custom cascade to make `.active` work on `:hover` and on `.table-striped`. * Prevent nesting backgrounds * Small typo * . * Adding some docs * Match variable syntax * . --------- Co-authored-by: Mark Otto <[email protected]>
Diffstat (limited to 'scss')
-rw-r--r--scss/_tables.scss27
-rw-r--r--scss/_variables.scss2
2 files changed, 18 insertions, 11 deletions
diff --git a/scss/_tables.scss b/scss/_tables.scss
index 23de7c31b..ebfc00a5c 100644
--- a/scss/_tables.scss
+++ b/scss/_tables.scss
@@ -3,6 +3,12 @@
//
.table {
+ // Reset needed for nesting tables
+ --#{$prefix}table-color-type: initial;
+ --#{$prefix}table-bg-type: initial;
+ --#{$prefix}table-color-state: initial;
+ --#{$prefix}table-bg-state: initial;
+ // End of reset
--#{$prefix}table-color: #{$table-color};
--#{$prefix}table-bg: #{$table-bg};
--#{$prefix}table-border-color: #{$table-border-color};
@@ -16,7 +22,6 @@
width: 100%;
margin-bottom: $spacer;
- color: var(--#{$prefix}table-color);
vertical-align: $table-cell-vertical-align;
border-color: var(--#{$prefix}table-border-color);
@@ -27,9 +32,11 @@
// stylelint-disable-next-line selector-max-universal
> :not(caption) > * > * {
padding: $table-cell-padding-y $table-cell-padding-x;
+ // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb
+ color: var(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}table-color)));
background-color: var(--#{$prefix}table-bg);
border-bottom-width: $table-border-width;
- box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-accent-bg);
+ box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}table-accent-bg)));
}
> tbody {
@@ -104,16 +111,16 @@
// For rows
.table-striped {
> tbody > tr:nth-of-type(#{$table-striped-order}) > * {
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);
- color: var(--#{$prefix}table-striped-color);
+ --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
+ --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
}
}
// For columns
.table-striped-columns {
> :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);
- color: var(--#{$prefix}table-striped-color);
+ --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
+ --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
}
}
@@ -122,8 +129,8 @@
// The `.table-active` class can be added to highlight rows or cells
.table-active {
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-active-bg);
- color: var(--#{$prefix}table-active-color);
+ --#{$prefix}table-color-state: var(--#{$prefix}table-active-color);
+ --#{$prefix}table-bg-state: var(--#{$prefix}table-active-bg);
}
// Hover effect
@@ -132,8 +139,8 @@
.table-hover {
> tbody > tr:hover > * {
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-hover-bg);
- color: var(--#{$prefix}table-hover-color);
+ --#{$prefix}table-color-state: var(--#{$prefix}table-hover-color);
+ --#{$prefix}table-bg-state: var(--#{$prefix}table-hover-bg);
}
}
diff --git a/scss/_variables.scss b/scss/_variables.scss
index b1fe4ba5a..0288898d3 100644
--- a/scss/_variables.scss
+++ b/scss/_variables.scss
@@ -731,7 +731,7 @@ $table-cell-padding-x-sm: .25rem !default;
$table-cell-vertical-align: top !default;
$table-color: var(--#{$prefix}body-color) !default;
-$table-bg: transparent !default;
+$table-bg: var(--#{$prefix}body-bg) !default;
$table-accent-bg: transparent !default;
$table-th-font-weight: null !default;