aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2016-12-21 12:27:18 -0800
committerMark Otto <[email protected]>2016-12-22 13:48:07 -0800
commit18453f06f9c7a3dddfc5b12ee299076083835cac (patch)
treeaee461d223590c3ec72ac9e320e5920e50616c96
parent4a06c9802702fabee7fe0f01a89842d6a276de7d (diff)
downloadbootstrap-18453f06f9c7a3dddfc5b12ee299076083835cac.tar.xz
bootstrap-18453f06f9c7a3dddfc5b12ee299076083835cac.zip
flexbox this thing
- drop the table styles, use flex - remove commented out code - consolidate styles a bit - add a huge flex-grow to the nav, making the assumption you want nav to take up most space
-rw-r--r--docs/examples/navbar/all-navbars.html53
-rw-r--r--scss/_navbar.scss123
2 files changed, 33 insertions, 143 deletions
diff --git a/docs/examples/navbar/all-navbars.html b/docs/examples/navbar/all-navbars.html
index 61ad5f739..864d95c40 100644
--- a/docs/examples/navbar/all-navbars.html
+++ b/docs/examples/navbar/all-navbars.html
@@ -22,10 +22,8 @@
<nav class="navbar navbar-dark bg-inverse">
<div class="navbar-container">
- <div class="navbar-item">
- <a class="navbar-brand" href="#">Default</a>
- </div>
- <ul class="navbar-item nav navbar-nav">
+ <a class="navbar-brand" href="#">Default</a>
+ <ul class="nav navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
@@ -39,7 +37,7 @@
<a class="nav-link" href="#">About</a>
</li>
</ul>
- <form class="navbar-item form-inline text-md-right">
+ <form class="form-inline text-md-right">
<input class="form-control" type="text" placeholder="Search">
<button class="btn btn-outline-success my-2 my-md-0" type="submit">Search</button>
</form>
@@ -48,13 +46,11 @@
<nav class="navbar navbar-dark bg-inverse">
<div class="navbar-container">
- <div class="navbar-item">
- <button class="navbar-toggler navbar-toggler-right hidden-lg-up" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"></button>
- <a class="navbar-brand" href="#">Responsive</a>
- </div>
+ <button class="navbar-toggler navbar-toggler-right hidden-lg-up" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"></button>
+ <a class="navbar-brand" href="#">Responsive</a>
<div class="collapse navbar-toggleable-md" id="navbarResponsive">
- <ul class="navbar-item navbar-item-primary nav navbar-nav">
+ <ul class="nav navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
@@ -68,7 +64,7 @@
<a class="nav-link" href="#">About</a>
</li>
</ul>
- <form class="navbar-item form-inline text-md-right">
+ <form class="form-inline text-md-right">
<input class="form-control" type="text" placeholder="Search">
<button class="btn btn-outline-success my-2 my-md-0" type="submit">Search</button>
</form>
@@ -77,38 +73,9 @@
</nav>
<nav class="navbar navbar-dark bg-inverse">
- <div class="navbar-container">
- <div class="navbar-item navbar-item-primary">
- <a class="navbar-brand mr-2" href="#">Primary</a>
- <ul class="nav navbar-nav d-inline-block">
- <li class="nav-item active">
- <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">Features</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">Pricing</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">About</a>
- </li>
- </ul>
- </div>
-
- <form class="navbar-item form-inline text-md-right">
- <input class="form-control" type="text" placeholder="Search">
- <button class="btn btn-outline-success my-2 my-md-0" type="submit">Search</button>
- </form>
- </div>
- </nav>
-
- <nav class="navbar navbar-dark bg-inverse">
<div class="navbar-container navbar-container-justified">
- <div class="navbar-item">
- <a class="navbar-brand" href="#">Justified &amp; Centered nav</a>
- </div>
- <ul class="navbar-item nav navbar-nav text-md-center">
+ <a class="navbar-brand" href="#">Justified &amp; Centered nav</a>
+ <ul class="nav navbar-nav text-md-center">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
@@ -122,7 +89,7 @@
<a class="nav-link" href="#">About</a>
</li>
</ul>
- <form class="navbar-item form-inline text-md-right">
+ <form class="form-inline text-md-right">
<input class="form-control" type="text" placeholder="Search">
<button class="btn btn-outline-success my-2 my-md-0" type="submit">Search</button>
</form>
diff --git a/scss/_navbar.scss b/scss/_navbar.scss
index 0ca96605c..ba4cdaac9 100644
--- a/scss/_navbar.scss
+++ b/scss/_navbar.scss
@@ -5,95 +5,41 @@
.navbar {
position: relative;
- // padding: $navbar-padding-y $navbar-padding-x;
- // @include clearfix;
-
- // @include media-breakpoint-up(sm) {
- // @include border-radius($navbar-border-radius);
- // }
+ padding: $navbar-padding-y $navbar-padding-x;
}
.navbar-container {
@include media-breakpoint-up(sm) {
- display: table;
+ display: flex;
+ flex: 0 0 auto;
+ flex-wrap: nowrap;
+ align-items: center;
width: 100%;
- // .navbar-container-justified
+ // // .navbar-container-justified
&-justified {
- table-layout: fixed;
- }
- }
-}
-
-.navbar-item {
- display: block;
- padding: $navbar-padding-y $navbar-padding-x;
- // padding: .5rem .75rem;
- vertical-align: middle;
-
- @include media-breakpoint-up(sm) {
- display: table-cell;
- white-space: nowrap;
-
- // .navbar-item-primary
- &-primary {
- width: 99%;
-
- ~ .navbar-item {
- width: 1%;
- }
- }
- }
-}
-
-.navbar-nav {
- // .nav-item {
- // display: block;
- // }
-
- .nav-link {
- display: block;
- padding: .425rem .5rem;
- }
-
- @include media-breakpoint-up(sm) {
- .nav-item {
- display: inline-block;
+ justify-content: space-between; // todo: drop for util
}
}
}
.navbar-toggler-left {
position: absolute;
- // top: $navbar-padding-y;
left: $navbar-padding-x;
}
.navbar-toggler-right {
position: absolute;
- // top: $navbar-padding-y;
right: $navbar-padding-x;
}
-// .navbar-collapse-sm
-
-
// Navbar alignment options
//
// Display the navbar across the entirety of the page or fixed it to the top or
// bottom of the page.
-// A static, full width modifier with no rounded corners.
-// .navbar-full {
-// z-index: $zindex-navbar;
-//
-// @include media-breakpoint-up(sm) {
-// @include border-radius(0);
-// }
-// }
-
// Fix the top/bottom navbars when screen real estate supports it
.navbar-fixed-top,
.navbar-fixed-bottom {
@@ -134,10 +80,6 @@
//
.navbar-brand {
- // float: left;
- // padding-top: $navbar-brand-padding-y;
- // padding-bottom: $navbar-brand-padding-y;
- // margin-right: 1rem;
display: inline-block;
padding: .25rem .5rem;
font-size: $font-size-lg;
@@ -200,25 +142,21 @@
//
// Custom navbar navigation built on the base `.nav` styles.
-// .navbar-nav {
-// .nav-item {
-// float: left;
-// }
-//
-// .nav-link {
-// display: block;
-// padding-top: .425rem;
-// padding-bottom: .425rem;
-//
-// + .nav-link {
-// margin-left: 1rem;
-// }
-// }
-//
-// .nav-item + .nav-item {
-// margin-left: 1rem;
-// }
-// }
+.navbar-nav {
+ flex-grow: 10; // high number to force alignment
+
+ .nav-link {
+ display: block;
+ padding: .425rem .5rem;
+ }
+
+ @include media-breakpoint-up(sm) {
+ .nav-item {
+ display: inline-block;
+ }
+ }
+}
+
// Dark links against a light background
.navbar-light {
@@ -330,31 +268,16 @@
@include clearfix;
@include media-breakpoint-down($breakpoint) {
- // .navbar-brand {
- // display: block;
- // float: none;
- // margin-top: .5rem;
- // margin-right: 0;
- // }
-
.navbar-nav {
- // margin-top: .5rem;
- // margin-bottom: .5rem;
-
.dropdown-menu {
position: static;
float: none;
}
-
- // .nav-item {
- // float: none;
- // margin-left: 0;
- // }
}
}
@include media-breakpoint-up($next) {
- display: table-cell !important;
+ display: flex !important;
width: 100%;
}
}