]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Refactor Breadcrumbs component 18474/head
authorChris Rebert <code@chrisrebert.com>
Tue, 8 Dec 2015 10:20:25 +0000 (02:20 -0800)
committerChris Rebert <code@chrisrebert.com>
Thu, 24 Dec 2015 05:16:35 +0000 (22:16 -0700)
Use new `.breadcrumb-item` class instead of child selectors and `li` tag selectors,
so as to no longer require the usage of `<ol>`-based markup.

Rename variables to follow naming conventions:
* $breadcrumb-padding-vertical => $breadcrumb-padding-y
* $breadcrumb-padding-horizontal => $breadcrumb-padding-x

Introduce new variable: $breadcrumb-item-padding

[skip sauce]

docs/components/breadcrumb.md
docs/migration.md
scss/_breadcrumb.scss
scss/_variables.scss

index bfd7ef1b611e04b7c695f0f0895ce61033c20b81..204a60c81e750e30cb6ab86831a73d98e5396112 100644 (file)
@@ -8,17 +8,26 @@ Indicate the current page's location within a navigational hierarchy.
 
 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).
 
+Works fine with or without the usage of list markup.
+
 {% example html %}
 <ol class="breadcrumb">
-  <li class="active">Home</li>
+  <li class="breadcrumb-item active">Home</li>
 </ol>
 <ol class="breadcrumb">
-  <li><a href="#">Home</a></li>
-  <li class="active">Library</li>
+  <li class="breadcrumb-item"><a href="#">Home</a></li>
+  <li class="breadcrumb-item active">Library</li>
 </ol>
-<ol class="breadcrumb" style="margin-bottom: 5px;">
-  <li><a href="#">Home</a></li>
-  <li><a href="#">Library</a></li>
-  <li class="active">Data</li>
+<ol class="breadcrumb">
+  <li class="breadcrumb-item"><a href="#">Home</a></li>
+  <li class="breadcrumb-item"><a href="#">Library</a></li>
+  <li class="breadcrumb-item active">Data</li>
 </ol>
+<!-- Or use a div instead of a list -->
+<div class="breadcrumb">
+  <a class="breadcrumb-item" href="#">Home</a>
+  <a class="breadcrumb-item" href="#">Library</a>
+  <a class="breadcrumb-item" href="#">Data</a>
+  <span class="breadcrumb-item active">Bootstrap</span>
+</div>
 {% endexample %}
index b586a41c34f94cfadffdbc1b842d35f4c0cd42ed..d710d17683c21ab0957b8e3a2a9b0286d0ecd474 100644 (file)
@@ -114,6 +114,10 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
 
 - Explicit classes (`.page-item`, `.page-link`) are now required on the descendants of `.pagination`s
 
+### Breadcrumbs
+
+- An explicit class, `.breadcrumb-item`, is now required on the descendants of `.breadcrumb`s
+
 ### Badges
 
 - Dropped the badge component. Use the `.label-pill` modifier together with the label component instead.
index 30af411abbe2a9dbfcbbd60a345eeced0fca331a..5ccca354ce3ec1f649703676e74330f926af7f0f 100644 (file)
@@ -1,23 +1,23 @@
 .breadcrumb {
-  padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal;
+  padding: $breadcrumb-padding-y $breadcrumb-padding-x;
   margin-bottom: $spacer-y;
   list-style: none;
   background-color: $breadcrumb-bg;
   @include border-radius($border-radius);
   @include clearfix;
+}
 
-  > li {
-    float: left;
+.breadcrumb-item {
+  float: left;
 
-    + li::before {
-      padding-right: .5rem;
-      padding-left: .5rem;
-      color: $breadcrumb-divider-color;
-      content: "#{$breadcrumb-divider}";
-    }
+  + .breadcrumb-item::before {
+    padding-right: $breadcrumb-item-padding;
+    padding-left: $breadcrumb-item-padding;
+    color: $breadcrumb-divider-color;
+    content: "#{$breadcrumb-divider}";
   }
 
-  .active {
+  &.active {
     color: $breadcrumb-active-color;
   }
 }
index 88afa3ccd329c472db4d00d299aa72dcebbaf3bd..a29d0399d97b2ad65d34d5ad526ccb0a07e68934 100644 (file)
@@ -625,8 +625,9 @@ $thumbnail-border-radius:     $border-radius !default;
 
 // Breadcrumbs
 
-$breadcrumb-padding-vertical:   .75rem !default;
-$breadcrumb-padding-horizontal: 1rem !default;
+$breadcrumb-padding-y:          .75rem !default;
+$breadcrumb-padding-x:          1rem !default;
+$breadcrumb-item-padding:       .5rem !default;
 
 $breadcrumb-bg:                 $gray-lighter !default;
 $breadcrumb-divider-color:      $gray-light !default;