Skip to content

Commit 76a4c30

Browse files
committed
Refactor Breadcrumbs component
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]
1 parent 5173cb1 commit 76a4c30

File tree

4 files changed

+33
-19
lines changed

4 files changed

+33
-19
lines changed

docs/components/breadcrumb.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,26 @@ Indicate the current page's location within a navigational hierarchy.
88

99
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).
1010

11+
Works fine with or without the usage of list markup.
12+
1113
{% example html %}
1214
<ol class="breadcrumb">
13-
<li class="active">Home</li>
15+
<li class="breadcrumb-item active">Home</li>
1416
</ol>
1517
<ol class="breadcrumb">
16-
<li><a href="#">Home</a></li>
17-
<li class="active">Library</li>
18+
<li class="breadcrumb-item"><a href="#">Home</a></li>
19+
<li class="breadcrumb-item active">Library</li>
1820
</ol>
19-
<ol class="breadcrumb" style="margin-bottom: 5px;">
20-
<li><a href="#">Home</a></li>
21-
<li><a href="#">Library</a></li>
22-
<li class="active">Data</li>
21+
<ol class="breadcrumb">
22+
<li class="breadcrumb-item"><a href="#">Home</a></li>
23+
<li class="breadcrumb-item"><a href="#">Library</a></li>
24+
<li class="breadcrumb-item active">Data</li>
2325
</ol>
26+
<!-- Or use a div instead of a list -->
27+
<div class="breadcrumb">
28+
<a class="breadcrumb-item" href="#">Home</a>
29+
<a class="breadcrumb-item" href="#">Library</a>
30+
<a class="breadcrumb-item" href="#">Data</a>
31+
<span class="breadcrumb-item active">Bootstrap</span>
32+
</div>
2433
{% endexample %}

docs/migration.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
114114

115115
- Explicit classes (`.page-item`, `.page-link`) are now required on the descendants of `.pagination`s
116116

117+
### Breadcrumbs
118+
119+
- An explicit class, `.breadcrumb-item`, is now required on the descendants of `.breadcrumb`s
120+
117121
### Badges
118122

119123
- Dropped the badge component. Use the `.label-pill` modifier together with the label component instead.

scss/_breadcrumb.scss

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
.breadcrumb {
2-
padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal;
2+
padding: $breadcrumb-padding-y $breadcrumb-padding-x;
33
margin-bottom: $spacer-y;
44
list-style: none;
55
background-color: $breadcrumb-bg;
66
@include border-radius($border-radius);
77
@include clearfix;
8+
}
89

9-
> li {
10-
float: left;
10+
.breadcrumb-item {
11+
float: left;
1112

12-
+ li::before {
13-
padding-right: .5rem;
14-
padding-left: .5rem;
15-
color: $breadcrumb-divider-color;
16-
content: "#{$breadcrumb-divider}";
17-
}
13+
+ .breadcrumb-item::before {
14+
padding-right: $breadcrumb-item-padding;
15+
padding-left: $breadcrumb-item-padding;
16+
color: $breadcrumb-divider-color;
17+
content: "#{$breadcrumb-divider}";
1818
}
1919

20-
> .active {
20+
&.active {
2121
color: $breadcrumb-active-color;
2222
}
2323
}

scss/_variables.scss

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -625,8 +625,9 @@ $thumbnail-border-radius: $border-radius !default;
625625

626626
// Breadcrumbs
627627

628-
$breadcrumb-padding-vertical: .75rem !default;
629-
$breadcrumb-padding-horizontal: 1rem !default;
628+
$breadcrumb-padding-y: .75rem !default;
629+
$breadcrumb-padding-x: 1rem !default;
630+
$breadcrumb-item-padding: .5rem !default;
630631

631632
$breadcrumb-bg: $gray-lighter !default;
632633
$breadcrumb-divider-color: $gray-light !default;

0 commit comments

Comments
 (0)