Skip to content

Commit 1444718

Browse files
committed
Backport #30973
Remove the class `.nav-item` from `.nav-link` inside the non `ul` or `ol` based navs. This makes the consistency for `.nav-item` (This class will not be required on the `.nav-link`). `.nav-item` was only required when you use `.nav-fill` or `.nav-justified` on the `.nav`. In other cases, it was redundant. And the purpose of `.nav-item` on `.nav-link`s can be achieved via flexbox utilities as well (Mentioned in the docs also).
1 parent e80e888 commit 1444718

File tree

4 files changed

+27
-25
lines changed

4 files changed

+27
-25
lines changed

js/tests/unit/tab.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -350,15 +350,15 @@ $(function () {
350350
var done = assert.async()
351351
var tabsHTML =
352352
'<nav class="nav nav-tabs" role="tablist">' +
353-
' <a id="tab1" href="#x-tab1" class="nav-item nav-link" data-toggle="tab" role="tab" aria-controls="x-tab1">Tab 1</a>' +
354-
' <a href="#x-tab2" class="nav-item nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab2" aria-selected="true">Tab 2</a>' +
355-
' <a href="#x-tab3" class="nav-item nav-link" data-toggle="tab" role="tab" aria-controls="x-tab3">Tab 3</a>' +
353+
' <a id="tab1" href="#x-tab1" class="nav-link" data-toggle="tab" role="tab" aria-controls="x-tab1">Tab 1</a>' +
354+
' <a href="#x-tab2" class="nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab2" aria-selected="true">Tab 2</a>' +
355+
' <a href="#x-tab3" class="nav-link" data-toggle="tab" role="tab" aria-controls="x-tab3">Tab 3</a>' +
356356
'</nav>' +
357357
'<div class="tab-content">' +
358358
' <div class="tab-pane" id="x-tab1" role="tabpanel">' +
359359
' <nav class="nav nav-tabs" role="tablist">' +
360-
' <a href="#nested-tab1" class="nav-item nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab1" aria-selected="true">Nested Tab 1</a>' +
361-
' <a id="tabNested2" href="#nested-tab2" class="nav-item nav-link" data-toggle="tab" role="tab" aria-controls="x-profile">Nested Tab2</a>' +
360+
' <a href="#nested-tab1" class="nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab1" aria-selected="true">Nested Tab 1</a>' +
361+
' <a id="tabNested2" href="#nested-tab2" class="nav-link" data-toggle="tab" role="tab" aria-controls="x-profile">Nested Tab2</a>' +
362362
' </nav>' +
363363
' <div class="tab-content">' +
364364
' <div class="tab-pane active" id="nested-tab1" role="tabpanel">Nested Tab1 Content</div>' +

scss/_nav.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,15 @@
9292
//
9393

9494
.nav-fill {
95+
> .nav-link,
9596
.nav-item {
9697
flex: 1 1 auto;
9798
text-align: center;
9899
}
99100
}
100101

101102
.nav-justified {
103+
> .nav-link,
102104
.nav-item {
103105
flex-basis: 0;
104106
flex-grow: 1;

site/docs/4.5/components/navbar.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,10 @@ And because we use classes for our navs, you can avoid the list-based approach e
157157
</button>
158158
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
159159
<div class="navbar-nav">
160-
<a class="nav-item nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
161-
<a class="nav-item nav-link" href="#">Features</a>
162-
<a class="nav-item nav-link" href="#">Pricing</a>
163-
<a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
160+
<a class="nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
161+
<a class="nav-link" href="#">Features</a>
162+
<a class="nav-link" href="#">Pricing</a>
163+
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
164164
</div>
165165
</div>
166166
</nav>

site/docs/4.5/components/navs.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -195,14 +195,14 @@ Force your `.nav`'s contents to extend the full available width one of two modif
195195
{% endcapture %}
196196
{% include example.html content=example %}
197197

198-
When using a `<nav>`-based navigation, be sure to include `.nav-item` on the anchors.
198+
When using a `<nav>`-based navigation, you can safely omit `.nav-item` as only `.nav-link` is required for styling `<a>` elements.
199199

200200
{% capture example %}
201201
<nav class="nav nav-pills nav-fill">
202-
<a class="nav-item nav-link active" href="#">Active</a>
203-
<a class="nav-item nav-link" href="#">Much longer nav link</a>
204-
<a class="nav-item nav-link" href="#">Link</a>
205-
<a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
202+
<a class="nav-link active" href="#">Active</a>
203+
<a class="nav-link" href="#">Much longer nav link</a>
204+
<a class="nav-link" href="#">Link</a>
205+
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
206206
</nav>
207207
{% endcapture %}
208208
{% include example.html content=example %}
@@ -227,14 +227,14 @@ For equal-width elements, use `.nav-justified`. All horizontal space will be occ
227227
{% endcapture %}
228228
{% include example.html content=example %}
229229

230-
Similar to the `.nav-fill` example using a `<nav>`-based navigation, be sure to include `.nav-item` on the anchors.
230+
Similar to the `.nav-fill` example using a `<nav>`-based navigation.
231231

232232
{% capture example %}
233233
<nav class="nav nav-pills nav-justified">
234-
<a class="nav-item nav-link active" href="#">Active</a>
235-
<a class="nav-item nav-link" href="#">Much longer nav link</a>
236-
<a class="nav-item nav-link" href="#">Link</a>
237-
<a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
234+
<a class="nav-link active" href="#">Active</a>
235+
<a class="nav-link" href="#">Much longer nav link</a>
236+
<a class="nav-link" href="#">Link</a>
237+
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
238238
</nav>
239239

240240
{% endcapture %}
@@ -376,9 +376,9 @@ To help fit your needs, this works with `<ul>`-based markup, as shown above, or
376376
<div class="bd-example bd-example-tabs">
377377
<nav>
378378
<div class="nav nav-tabs" id="nav-tab" role="tablist">
379-
<a class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-selected="true">Home</a>
380-
<a class="nav-item nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</a>
381-
<a class="nav-item nav-link" id="nav-contact-tab" data-toggle="tab" href="#nav-contact" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</a>
379+
<a class="nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-selected="true">Home</a>
380+
<a class="nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</a>
381+
<a class="nav-link" id="nav-contact-tab" data-toggle="tab" href="#nav-contact" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</a>
382382
</div>
383383
</nav>
384384
<div class="tab-content" id="nav-tabContent">
@@ -397,9 +397,9 @@ To help fit your needs, this works with `<ul>`-based markup, as shown above, or
397397
{% highlight html %}
398398
<nav>
399399
<div class="nav nav-tabs" id="nav-tab" role="tablist">
400-
<a class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-selected="true">Home</a>
401-
<a class="nav-item nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</a>
402-
<a class="nav-item nav-link" id="nav-contact-tab" data-toggle="tab" href="#nav-contact" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</a>
400+
<a class="nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-selected="true">Home</a>
401+
<a class="nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</a>
402+
<a class="nav-link" id="nav-contact-tab" data-toggle="tab" href="#nav-contact" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</a>
403403
</div>
404404
</nav>
405405
<div class="tab-content" id="nav-tabContent">

0 commit comments

Comments
 (0)