]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Convert breadcrumb to CSS variables
authorMark Otto <markdotto@gmail.com>
Sat, 20 Nov 2021 04:44:46 +0000 (18:44 -1000)
committerMark Otto <otto@github.com>
Fri, 11 Mar 2022 20:59:55 +0000 (12:59 -0800)
scss/_breadcrumb.scss
site/content/docs/5.1/components/breadcrumb.md

index f7fafe743ac2193eea3221e13776c319892fd03a..86890dc61a324ce4c6a356480e97b9094b74a940 100644 (file)
@@ -1,28 +1,43 @@
+// stylelint-disable custom-property-empty-line-before
+
 .breadcrumb {
+  // scss-docs-start breadcrumb-css-vars
+  --#{$variable-prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};
+  --#{$variable-prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};
+  --#{$variable-prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};
+  @include rfs($breadcrumb-font-size, --#{$variable-prefix}breadcrumb-font-size);
+  --#{$variable-prefix}breadcrumb-bg: #{$breadcrumb-bg};
+  --#{$variable-prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};
+  --#{$variable-prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};
+  --#{$variable-prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};
+  --#{$variable-prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};
+  // scss-docs-end breadcrumb-css-vars
+
   display: flex;
   flex-wrap: wrap;
-  padding: $breadcrumb-padding-y $breadcrumb-padding-x;
-  margin-bottom: $breadcrumb-margin-bottom;
+  padding: var(--#{$variable-prefix}breadcrumb-padding-y) var(--#{$variable-prefix}breadcrumb-padding-x);
+  margin-bottom: var(--#{$variable-prefix}breadcrumb-margin-bottom);
   @include font-size($breadcrumb-font-size);
+  font-size: var(--#{$variable-prefix}breadcrumb-font-size);
   list-style: none;
-  background-color: $breadcrumb-bg;
-  @include border-radius($breadcrumb-border-radius);
+  background-color: var(--#{$variable-prefix}breadcrumb-bg);
+  @include border-radius(var(--#{$variable-prefix}breadcrumb-border-radius));
 }
 
 .breadcrumb-item {
   // The separator between breadcrumbs (by default, a forward-slash: "/")
   + .breadcrumb-item {
-    padding-left: $breadcrumb-item-padding-x;
+    padding-left: var(--#{$variable-prefix}breadcrumb-item-padding-x);
 
     &::before {
       float: left; // Suppress inline spacings and underlining of the separator
-      padding-right: $breadcrumb-item-padding-x;
-      color: $breadcrumb-divider-color;
+      padding-right: var(--#{$variable-prefix}breadcrumb-item-padding-x);
+      color: var(--#{$variable-prefix}breadcrumb-divider-color);
       content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
     }
   }
 
   &.active {
-    color: $breadcrumb-active-color;
+    color: var(--#{$variable-prefix}breadcrumb-item-active-color);
   }
 }
index 7086a1ee52e4da8d66dcd59933313c043e2f88ed..dabf6b58b494995c0c48aa1d35255947a229914e 100644 (file)
@@ -96,8 +96,16 @@ Since breadcrumbs provide a navigation, it's a good idea to add a meaningful lab
 
 For more information, see the [WAI-ARIA Authoring Practices for the breadcrumb pattern](https://www.w3.org/TR/wai-aria-practices/#breadcrumb).
 
-## Sass
+## CSS
 
 ### Variables
 
+<small class="d-inline-flex px-2 py-1 font-monospace text-muted border rounded-3">Added in v5.3.0</small>
+
+As part of Bootstrap's evolving CSS variables approach, breadcrumbs now use local CSS variables on `.breadcrumb` for enhanced real-time customization. Values for the CSS variables are set via Sass, so Sass customization is still supported, too.
+
+{{< scss-docs name="breadcrumb-css-vars" file="scss/_breadcrumb.scss" >}}
+
+### Sass variables
+
 {{< scss-docs name="breadcrumb-variables" file="scss/_variables.scss" >}}