]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Update breadcrumb docs and dividers
authorMark Otto <markdotto@gmail.com>
Sun, 29 Nov 2020 19:56:08 +0000 (11:56 -0800)
committerXhmikosR <xhmikosr@gmail.com>
Tue, 1 Dec 2020 17:17:06 +0000 (19:17 +0200)
- Add CSS custom property with fallback to Sass variable
- Update docs to mention the new CSS custom property
- Rewrite some of the docs to use divider instead of separator, and add some context here and there

scss/_breadcrumb.scss
site/content/docs/5.0/components/breadcrumb.md

index b30668b5ddaaeb93c36567808f85303ea3635177..aa9dd4ad7084d9225a77a76ff40f011e35d14390 100644 (file)
@@ -18,7 +18,7 @@
       float: left; // Suppress inline spacings and underlining of the separator
       padding-right: $breadcrumb-item-padding-x;
       color: $breadcrumb-divider-color;
-      content: escape-svg($breadcrumb-divider);
+      content: var(--bs-breadcrumb-divider, escape-svg($breadcrumb-divider));
     }
   }
 
index a6e953bb53837acff2187ffe85935f9872a9c033..433d5505bbd931d6d8b4190f932e44e0b3c9e9d7 100644 (file)
@@ -3,10 +3,13 @@ layout: docs
 title: Breadcrumb
 description: Indicate the current page's location within a navigational hierarchy that automatically adds separators via CSS.
 group: components
+toc: true
 ---
 
 ## Example
 
+Use an ordered or unordered list with linked list items to create a minimally styled breadcrumb. Use our utilities to add additional styles as desired.
+
 {{< example >}}
 <nav aria-label="breadcrumb">
   <ol class="breadcrumb">
@@ -30,21 +33,51 @@ group: components
 </nav>
 {{< /example >}}
 
-## Changing the separator
+## Dividers
+
+Dividers are automatically added in CSS through [`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content). They can be changed by modifying a local CSS custom property `--bs-breadcrumb-divider`, or through the `$breadcrumb-divider` Sass variable. We default to our Sass variable, which is set as a fallback to the custom property. This way, you get a global divider that you can override without recompiling CSS at any time.
+
+{{< example >}}
+<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
+  <ol class="breadcrumb">
+    <li class="breadcrumb-item"><a href="#">Home</a></li>
+    <li class="breadcrumb-item active" aria-current="page">Library</li>
+  </ol>
+</nav>
+{{< /example >}}
 
-Separators are automatically added in CSS through [`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content). They can be changed by changing `$breadcrumb-divider`. The [quote](https://sass-lang.com/documentation/modules/string#quote) function is needed to generate the quotes around a string, so if you want `>` as separator, you can use this:
+When modifying via Sass, the [quote](https://sass-lang.com/documentation/modules/string#quote) function is required to generate the quotes around a string. For example, using `>` as the divider, you can use this:
 
 ```scss
 $breadcrumb-divider: quote(">");
 ```
 
-It's also possible to use an **embedded SVG icon**:
+It's also possible to use an **embedded SVG icon**. Apply it via our CSS custom property, or use the Sass variable.
+
+{{< example >}}
+<nav style="--bs-breadcrumb-divider: url(&#34;data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E&#34;);" aria-label="breadcrumb">
+  <ol class="breadcrumb">
+    <li class="breadcrumb-item"><a href="#">Home</a></li>
+    <li class="breadcrumb-item active" aria-current="page">Library</li>
+  </ol>
+</nav>
+{{< /example >}}
 
 ```scss
 $breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E");
 ```
 
-The separator can be removed by setting `$breadcrumb-divider` to `none`:
+You can also remove the divider setting `--bs-breadcrumb-divider: ;` (empty strings in CSS custom properties counts as a value), or setting the Sass variable to `$breadcrumb-divider: none;`.
+
+{{< example >}}
+<nav style="--bs-breadcrumb-divider: ;" aria-label="breadcrumb">
+  <ol class="breadcrumb">
+    <li class="breadcrumb-item"><a href="#">Home</a></li>
+    <li class="breadcrumb-item active" aria-current="page">Library</li>
+  </ol>
+</nav>
+{{< /example >}}
+
 
 ```scss
 $breadcrumb-divider: none;