Skip to content

Commit 4f3af27

Browse files
committed
feat(Nav): add .nav-enclosed and .nav-enclosed-pills variants
1 parent 589b041 commit 4f3af27

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed

docs/content/components/navs-tabs.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,49 @@ Take that same HTML, but use `.nav-underline-border` instead:
211211
</ul>
212212
{{< /example >}}
213213

214+
### Enclosed
215+
216+
Use the `.nav-enclosed` class to give your navigation items a subtle border and rounded styling.
217+
218+
{{< example >}}
219+
<ul class="nav nav-enclosed">
220+
<li class="nav-item">
221+
<a class="nav-link active" aria-current="page" href="#">Active</a>
222+
</li>
223+
<li class="nav-item">
224+
<a class="nav-link" href="#">Link</a>
225+
</li>
226+
<li class="nav-item">
227+
<a class="nav-link" href="#">Link</a>
228+
</li>
229+
<li class="nav-item">
230+
<a class="nav-link disabled" aria-disabled="true">Disabled</a>
231+
</li>
232+
</ul>
233+
{{< /example >}}
234+
235+
### Enclosed pills
236+
237+
Combine `.nav-enclosed` with `.nav-enclosed-pills` to achieve a pill-style appearance for each nav item, using pill-shaped borders and smoother outlines.
238+
239+
240+
{{< example >}}
241+
<ul class="nav nav-enclosed nav-enclosed-pills">
242+
<li class="nav-item">
243+
<a class="nav-link active" aria-current="page" href="#">Active</a>
244+
</li>
245+
<li class="nav-item">
246+
<a class="nav-link" href="#">Link</a>
247+
</li>
248+
<li class="nav-item">
249+
<a class="nav-link" href="#">Link</a>
250+
</li>
251+
<li class="nav-item">
252+
<a class="nav-link disabled" aria-disabled="true">Disabled</a>
253+
</li>
254+
</ul>
255+
{{< /example >}}
256+
214257
### Fill and justify
215258

216259
Force your `.nav`'s contents to extend the full available width one of two modifier classes. To proportionately fill all available space with your `.nav-item`s, use `.nav-fill`. Notice that all horizontal space is occupied, but not every nav item has the same width.

scss/_nav.scss

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,10 @@
210210
--#{$prefix}nav-enclosed-padding: #{$nav-enclosed-padding};
211211
--#{$prefix}nav-enclosed-bg: #{$nav-enclosed-bg};
212212
--#{$prefix}nav-enclosed-border-radius: #{$nav-enclosed-border-radius};
213+
--#{$prefix}nav-enclosed-link-padding-x: #{$nav-enclosed-link-padding-x};
214+
--#{$prefix}nav-enclosed-link-padding-y: #{$nav-enclosed-link-padding-y};
213215
--#{$prefix}nav-enclosed-link-color: #{$nav-enclosed-link-color};
216+
--#{$prefix}nav-enclosed-link-border-width: #{$nav-enclosed-link-border-width};
214217
--#{$prefix}nav-enclosed-link-active-color: #{$nav-enclosed-link-active-color};
215218
--#{$prefix}nav-enclosed-link-active-bg: #{$nav-enclosed-link-active-bg};
216219
--#{$prefix}nav-enclosed-link-active-border-color: #{$nav-enclosed-link-active-border-color};
@@ -223,8 +226,9 @@
223226
@include border-radius(var(--#{$prefix}nav-enclosed-border-radius));
224227

225228
.nav-link {
229+
padding: calc(var(--#{$prefix}nav-enclosed-link-padding-y) - var(--#{$prefix}nav-enclosed-link-border-width)) calc(var(--#{$prefix}nav-enclosed-link-padding-x) - var(--#{$prefix}nav-enclosed-link-border-width)); // stylelint-disable-line function-disallowed-list
226230
color: var(--#{$prefix}nav-enclosed-link-color);
227-
border: 1px solid transparent;
231+
border: var(--#{$prefix}nav-enclosed-link-border-width) solid transparent;
228232
@include border-radius(calc(var(--#{$prefix}nav-enclosed-border-radius) - var(--#{$prefix}nav-enclosed-padding)));
229233

230234
&.disabled {

scss/_variables.scss

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1282,10 +1282,13 @@ $nav-underline-border-link-color: var(--#{$prefix}secondary-color) !de
12821282
$nav-underline-border-link-active-color: var(--#{$prefix}primary) !default;
12831283
$nav-underline-border-link-disabled-color: var(--#{$prefix}tertiary-color) !default;
12841284

1285-
$nav-enclosed-padding: .25rem !default;
1285+
$nav-enclosed-padding: .125rem !default;
12861286
$nav-enclosed-bg: var(--#{$prefix}tertiary-bg) !default;
12871287
$nav-enclosed-border-radius: $border-radius-lg !default;
1288+
$nav-enclosed-link-padding-y: .375rem !default;
1289+
$nav-enclosed-link-padding-x: .875rem !default;
12881290
$nav-enclosed-link-color: var(--#{$prefix}body-color) !default;
1291+
$nav-enclosed-link-border-width: 1px !default;
12891292
$nav-enclosed-link-active-color: var(--#{$prefix}body-color) !default;
12901293
$nav-enclosed-link-active-bg: var(--#{$prefix}body-bg) !default;
12911294
$nav-enclosed-link-active-border-color: var(--#{$prefix}border-color) !default;

0 commit comments

Comments
 (0)