diff options
| author | Mark Otto <[email protected]> | 2013-04-27 18:28:39 -0700 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2013-04-27 18:28:39 -0700 |
| commit | 8b3a1702d443c4a451d02d3482ed2cb4aeff0d44 (patch) | |
| tree | 997b9e4486bbde405efa4b033cea3a3dd05d35c7 | |
| parent | 2ffa0e44094ab67e23fb1642d6b1b8d269d3a2f1 (diff) | |
| download | bootstrap-8b3a1702d443c4a451d02d3482ed2cb4aeff0d44.tar.xz bootstrap-8b3a1702d443c4a451d02d3482ed2cb4aeff0d44.zip | |
Overhaul navbar navs
* Switch from to to eliminate an element in selectors
* Drop .navbar-divider entirely
| -rw-r--r-- | docs/assets/css/bootstrap.css | 129 | ||||
| -rw-r--r-- | docs/assets/css/docs.css | 2 | ||||
| -rw-r--r-- | docs/docs.html | 44 | ||||
| -rw-r--r-- | less/navbar.less | 155 |
4 files changed, 126 insertions, 204 deletions
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index be8236ea3..b4a3b5854 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -3515,33 +3515,33 @@ button.close { clear: both; } -.navbar .nav { +.navbar-nav { margin-top: 15px; } -.navbar .nav > li > a { +.navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; line-height: 20px; color: #777777; } -.navbar .nav > li > a:hover, -.navbar .nav > li > a:focus { +.navbar-nav > li > a:hover, +.navbar-nav > li > a:focus { color: #333333; background-color: transparent; } -.navbar .nav > .active > a, -.navbar .nav > .active > a:hover, -.navbar .nav > .active > a:focus { +.navbar-nav > .active > a, +.navbar-nav > .active > a:hover, +.navbar-nav > .active > a:focus { color: #555555; background-color: #d5d5d5; } -.navbar .nav > .disabled > a, -.navbar .nav > .disabled > a:hover, -.navbar .nav > .disabled > a:focus { +.navbar-nav > .disabled > a, +.navbar-nav > .disabled > a:hover, +.navbar-nav > .disabled > a:focus { color: #cccccc; background-color: transparent; } @@ -3570,7 +3570,7 @@ button.close { .navbar-brand { display: block; max-width: 200px; - padding: 7px 15px; + padding: 15px; margin-right: auto; margin-left: auto; font-size: 18px; @@ -3614,57 +3614,49 @@ button.close { margin-top: 4px; } -.navbar .nav > .divider { - height: 2px; - margin: 9px 0; - overflow: hidden; - background-color: #e1e1e1; - border-bottom: 1px solid #fbfbfb; -} - .navbar-form { margin-top: 8px; margin-bottom: 8px; } -.navbar .nav > li > .dropdown-menu { +.navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } -.navbar-fixed-bottom .nav > li > .dropdown-menu { +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } -.navbar .nav li.dropdown > a:hover .caret, -.navbar .nav li.dropdown > a:focus .caret { +.navbar-nav li.dropdown > a:hover .caret, +.navbar-nav li.dropdown > a:focus .caret { border-top-color: #333333; border-bottom-color: #333333; } -.navbar .nav li.dropdown.open > .dropdown-toggle, -.navbar .nav li.dropdown.active > .dropdown-toggle, -.navbar .nav li.dropdown.open.active > .dropdown-toggle { +.navbar-nav li.dropdown.open > .dropdown-toggle, +.navbar-nav li.dropdown.active > .dropdown-toggle, +.navbar-nav li.dropdown.open.active > .dropdown-toggle { color: #555555; background-color: #d5d5d5; } -.navbar .nav li.dropdown > .dropdown-toggle .caret { +.navbar-nav li.dropdown > .dropdown-toggle .caret { border-top-color: #777777; border-bottom-color: #777777; } -.navbar .nav li.dropdown.open > .dropdown-toggle .caret, -.navbar .nav li.dropdown.active > .dropdown-toggle .caret, -.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { +.navbar-nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: #555555; border-bottom-color: #555555; } -.navbar .pull-right > li > .dropdown-menu, -.navbar .nav > li > .dropdown-menu.pull-right { +.navbar-nav.pull-right > li > .dropdown-menu, +.navbar-nav > li > .dropdown-menu.pull-right { right: 0; left: auto; } @@ -3687,26 +3679,26 @@ button.close { color: #999999; } -.navbar-inverse .nav > li > a { +.navbar-inverse .navbar-nav > li > a { color: #999999; } -.navbar-inverse .nav > li > a:hover, -.navbar-inverse .nav > li > a:focus { +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { color: #ffffff; background-color: transparent; } -.navbar-inverse .nav > .active > a, -.navbar-inverse .nav > .active > a:hover, -.navbar-inverse .nav > .active > a:focus { +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { color: #ffffff; background-color: #080808; } -.navbar-inverse .nav > .disabled > a, -.navbar-inverse .nav > .disabled > a:hover, -.navbar-inverse .nav > .disabled > a:focus { +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { color: #444444; background-color: transparent; } @@ -3724,31 +3716,26 @@ button.close { background-color: #fff; } -.navbar-inverse .nav > .divider { - background-color: #151515; - border-bottom-color: #2f2f2f; -} - -.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, -.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, -.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { +.navbar-inverse .navbar-nav li.dropdown.open > .dropdown-toggle, +.navbar-inverse .navbar-nav li.dropdown.active > .dropdown-toggle, +.navbar-inverse .navbar-nav li.dropdown.open.active > .dropdown-toggle { color: #ffffff; background-color: #080808; } -.navbar-inverse .nav li.dropdown > a:hover .caret { +.navbar-inverse .navbar-nav li.dropdown > a:hover .caret { border-top-color: #ffffff; border-bottom-color: #ffffff; } -.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { +.navbar-inverse .navbar-nav li.dropdown > .dropdown-toggle .caret { border-top-color: #999999; border-bottom-color: #999999; } -.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, -.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, -.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { +.navbar-inverse .navbar-nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-inverse .navbar-nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-inverse .navbar-nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: #ffffff; border-bottom-color: #ffffff; } @@ -3760,36 +3747,19 @@ button.close { } .navbar-brand { float: left; - padding-top: 15px; - padding-bottom: 15px; - margin-left: -10px; + margin-right: 5px; + margin-left: -5px; } .navbar .nav { float: left; margin-top: 0; } - .navbar .nav:before, - .navbar .nav:after { - display: table; - content: " "; - } - .navbar .nav:after { - clear: both; - } - .navbar .nav:before, - .navbar .nav:after { - display: table; - content: " "; - } - .navbar .nav:after { - clear: both; + .navbar .nav > li { + float: left; } .navbar .nav.pull-right { float: right; } - .navbar .nav > li { - float: left; - } .navbar .nav > .divider { width: 1px; height: 30px; @@ -3800,15 +3770,6 @@ button.close { .navbar-inverse .nav > .divider { border-right-color: #2f2f2f; } - .navbar-fixed-left { - padding-right: 0; - padding-left: 0; - } - .navbar-fixed-left .navbar-brand, - .navbar-fixed-left .nav, - .navbar-fixed-left .nav > li { - float: none; - } .navbar-toggle { position: relative; top: auto; diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 3f3a253c8..0e9292495 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -308,7 +308,7 @@ section > ul li { .bs-navbar-bottom-example { z-index: 1; padding: 0; - height: 90px; + height: 110px; overflow: hidden; /* cut the drop shadows off */ } .bs-navbar-top-example .navbar-fixed-top, diff --git a/docs/docs.html b/docs/docs.html index e62e44661..48e2aae0b 100644 --- a/docs/docs.html +++ b/docs/docs.html @@ -3423,7 +3423,7 @@ For example, <code><section></code> should be wrapped as inline. <div class="bs-docs-example"> <div class="navbar"> <a class="navbar-brand" href="#">Title</a> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> @@ -3433,7 +3433,7 @@ For example, <code><section></code> should be wrapped as inline. {% highlight html linenos %} <div class="navbar"> <a class="navbar-brand" href="#">Title</a> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> @@ -3458,7 +3458,7 @@ For example, <code><section></code> should be wrapped as inline. <p>Nav items are simple to add via unordered lists.</p> <div class="bs-docs-example"> <div class="navbar"> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li class="disabled"><a href="#">Disabled</a></li> @@ -3466,32 +3466,12 @@ For example, <code><section></code> should be wrapped as inline. </div> </div><!-- /example --> {% highlight html linenos %} -<ul class="nav"> +<ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li class="disabled"><a href="#">Disabled</a></li> </ul> {% endhighlight %} - <p>You can easily add dividers to your nav links with an empty list item and a simple class. Just add the appropriate class to <code><li></code> elements between links. Dividers will be horizontal to start, but at resolutions above 768px they become vertical with the navigation.</p> - <div class="bs-docs-example"> - <div class="navbar"> - <ul class="nav"> - <li class="active"><a href="#">Home</a></li> - <li class="divider"></li> - <li><a href="#">Link</a></li> - <li class="divider"></li> - <li><a href="#">Link</a></li> - <li class="divider"></li> - </ul> - </div> - </div><!-- /example --> -{% highlight html linenos %} -<ul class="nav"> - ... - <li class="divider"></li> - ... -</ul> -{% endhighlight %} <h3 id="navbar-forms">Forms</h3> <p>To properly style and position a form within the navbar, add the appropriate classes as shown below. For a default form, include <code>.navbar-form</code> and either <code>.pull-left</code> or <code>.pull-right</code> to properly align it.</p> @@ -3529,7 +3509,7 @@ For example, <code><section></code> should be wrapped as inline. <div class="navbar navbar-fixed-top" style="position: absolute; top: -1px;"> <div class="container" style="width: auto;"> <a class="navbar-brand" href="#">Title</a> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> @@ -3565,7 +3545,7 @@ body { <div class="navbar navbar-fixed-bottom" style="position: absolute; bottom: -1px;"> <div class="container" style="width: auto;"> <a class="navbar-brand" href="#">Title</a> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> @@ -3601,7 +3581,7 @@ body { <div class="navbar navbar-static-top" style="margin: -1px -1px 0;"> <div class="container" style="width: auto;"> <a class="navbar-brand" href="#">Title</a> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> @@ -3628,7 +3608,7 @@ body { </button> <a class="navbar-brand" href="#">Title</a> <div class="nav-collapse collapse navbar-responsive-collapse"> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> @@ -3648,9 +3628,8 @@ body { <form class="navbar-form pull-left" action=""> <input type="text" class="col-span-8" placeholder="Search"> </form> - <ul class="nav pull-right"> + <ul class="nav navbar-nav pull-right"> <li><a href="#">Link</a></li> - <li class="divider"></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <ul class="dropdown-menu"> @@ -3706,7 +3685,7 @@ body { </button> <a class="navbar-brand" href="#">Title</a> <div class="nav-collapse collapse navbar-inverse-collapse"> - <ul class="nav"> + <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> @@ -3726,9 +3705,8 @@ body { <form class="navbar-form pull-left" action=""> <input type="text" class="col-span-8" placeholder="Search"> </form> - <ul class="nav pull-right"> + <ul class="nav navbar-nav pull-right"> <li><a href="#">Link</a></li> - <li class="divider"></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <ul class="dropdown-menu"> diff --git a/less/navbar.less b/less/navbar.less index 78b837bdf..587b69ca4 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -15,31 +15,30 @@ // Navbar nav links // ------------------------- -.navbar { - .nav { - // space out from .navbar .brand and .btn-navbar - margin-top: 15px; - } - .nav > li > a { +.navbar-nav { + // Space out from .navbar .brand and .btn-navbar + margin-top: 15px; + + > li > a { padding-top: ((@navbar-height - @line-height-base) / 2); padding-bottom: ((@navbar-height - @line-height-base) / 2); color: @navbar-link-color; line-height: 20px; } - .nav > li > a:hover, - .nav > li > a:focus { + > li > a:hover, + > li > a:focus { color: @navbar-link-hover-color; background-color: @navbar-link-hover-bg; } - .nav > .active > a, - .nav > .active > a:hover, - .nav > .active > a:focus { + > .active > a, + > .active > a:hover, + > .active > a:focus { color: @navbar-link-active-color; background-color: @navbar-link-active-bg; } - .nav > .disabled > a, - .nav > .disabled > a:hover, - .nav > .disabled > a:focus { + > .disabled > a, + > .disabled > a:hover, + > .disabled > a:focus { color: @navbar-link-disabled-color; background-color: @navbar-link-disabled-bg; } @@ -80,7 +79,7 @@ max-width: 200px; margin-left: auto; margin-right: auto; - padding: 7px 15px; + padding: 15px; font-size: 18px; font-weight: 500; line-height: @line-height-base; @@ -122,11 +121,6 @@ } } -// Dividers in navbar -.navbar .nav > .divider { - .nav-divider(darken(@navbar-bg, 5%), lighten(@navbar-bg, 5%)); -} - // Navbar form .navbar-form { .navbar-vertical-align(34px); // Vertically center in navbar @@ -135,19 +129,19 @@ // Dropdown menus // Menu position and menu carets -.navbar .nav > li > .dropdown-menu { +.navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; } // Menu position and menu caret support for dropups via extra dropup class -.navbar-fixed-bottom .nav > li > .dropdown-menu { +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } // Dropdown menu items and carets -.navbar .nav { +.navbar-nav { // Caret should match text color on hover li.dropdown > a:hover .caret, li.dropdown > a:focus .caret { @@ -175,8 +169,8 @@ } // Right aligned menus need alt position -.navbar .pull-right > li > .dropdown-menu, -.navbar .nav > li > .dropdown-menu.pull-right { +.navbar-nav.pull-right > li > .dropdown-menu, +.navbar-nav > li > .dropdown-menu.pull-right { left: auto; right: 0; } @@ -202,25 +196,27 @@ color: @navbar-inverse-text; } - .nav > li > a { - color: @navbar-inverse-link-color; - } - .nav > li > a:hover, - .nav > li > a:focus { - color: @navbar-inverse-link-hover-color; - background-color: @navbar-inverse-link-hover-bg; - } - .nav > .active > a, - .nav > .active > a:hover, - .nav > .active > a:focus { - color: @navbar-inverse-link-active-color; - background-color: @navbar-inverse-link-active-bg; - } - .nav > .disabled > a, - .nav > .disabled > a:hover, - .nav > .disabled > a:focus { - color: @navbar-inverse-link-disabled-color; - background-color: @navbar-inverse-link-disabled-bg; + .navbar-nav { + > li > a { + color: @navbar-inverse-link-color; + } + > li > a:hover, + > li > a:focus { + color: @navbar-inverse-link-hover-color; + background-color: @navbar-inverse-link-hover-bg; + } + > .active > a, + > .active > a:hover, + > .active > a:focus { + color: @navbar-inverse-link-active-color; + background-color: @navbar-inverse-link-active-bg; + } + > .disabled > a, + > .disabled > a:hover, + > .disabled > a:focus { + color: @navbar-inverse-link-disabled-color; + background-color: @navbar-inverse-link-disabled-bg; + } } // Darken the responsive nav toggle @@ -235,32 +231,29 @@ } } - // Darken dividers - .nav > .divider { - background-color: darken(@navbar-inverse-bg, 5%); - border-bottom-color: lighten(@navbar-inverse-bg, 5%); - } - // Dropdowns - .nav li.dropdown.open > .dropdown-toggle, - .nav li.dropdown.active > .dropdown-toggle, - .nav li.dropdown.open.active > .dropdown-toggle { - background-color: @navbar-inverse-link-active-bg; - color: @navbar-inverse-link-active-color; - } - .nav li.dropdown > a:hover .caret { - border-top-color: @navbar-inverse-link-hover-color; - border-bottom-color: @navbar-inverse-link-hover-color; - } - .nav li.dropdown > .dropdown-toggle .caret { - border-top-color: @navbar-inverse-link-color; - border-bottom-color: @navbar-inverse-link-color; - } - .nav li.dropdown.open > .dropdown-toggle .caret, - .nav li.dropdown.active > .dropdown-toggle .caret, - .nav li.dropdown.open.active > .dropdown-toggle .caret { - border-top-color: @navbar-inverse-link-active-color; - border-bottom-color: @navbar-inverse-link-active-color; + .navbar-nav { + li.dropdown.open > .dropdown-toggle, + li.dropdown.active > .dropdown-toggle, + li.dropdown.open.active > .dropdown-toggle { + background-color: @navbar-inverse-link-active-bg; + color: @navbar-inverse-link-active-color; + } + li.dropdown > a:hover .caret { + border-top-color: @navbar-inverse-link-hover-color; + border-bottom-color: @navbar-inverse-link-hover-color; + } + li.dropdown > .dropdown-toggle .caret { + border-top-color: @navbar-inverse-link-color; + border-bottom-color: @navbar-inverse-link-color; + } + li.dropdown.open > .dropdown-toggle .caret, + li.dropdown.active > .dropdown-toggle .caret, + li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: @navbar-inverse-link-active-color; + border-bottom-color: @navbar-inverse-link-active-color; + } + } } @@ -270,28 +263,28 @@ // -------------------------------------------------- @media screen and (min-width: @screen-tablet) { + .navbar { padding-top: 0; padding-bottom: 0; } .navbar-brand { float: left; - padding-top: ((@navbar-height - @line-height-base) / 2); - padding-bottom: ((@navbar-height - @line-height-base) / 2); - margin-left: -10px; + margin-left: -5px; + margin-right: 5px; } .navbar .nav { float: left; margin-top: 0; // undo top margin to make nav extend full height of navbar - .clearfix(); + + > li { + float: left; + } &.pull-right { float: right; } } - .navbar .nav > li { - float: left; - } // Dividers go vertical // Change the height and height, disable bottom border, then add right border @@ -307,16 +300,6 @@ border-right-color: lighten(@navbar-inverse-bg, 5%); } - .navbar-fixed-left { - padding-left: 0; - padding-right: 0; - } - .navbar-fixed-left .navbar-brand, - .navbar-fixed-left .nav, - .navbar-fixed-left .nav > li { - float: none; - } - // Required to make the collapsing navbar work on regular desktops .navbar-toggle { position: relative; |
